Top > SQL*Plus > SET CONCAT

CONCAT システム変数

CONCAT は 変数と「変数に続く文字列」との区切り文字に使用される文字を設定する。

  • 短縮形は CON
  • デフォルト値 ON でドット(.)

SET CONCAT コマンド

SET CONCAT コマンドの構文

SET CONCAT 区切り文字
SET CONCAT ON
SET CONCAT OFF

短縮形

SET CON 区切り文字
SET CON ON
SET CON OFF

デフォルト

SET CONCAT .

区切り文字は単一の文字で英数字、空白は使用できない。デフォルトはドット(.) に設定されている。

ON と OFF : OFF にした場合には変数名の直後に「変数名」の規定に一致する文字列を連結できなくなる。
ON にした場合にはドット(.) が変数名と文字列のセパレータとして初期化される。
SET CONCAT ON は SET CONCAT . と同じ意味になる。

CONCAT の設定例

CONCAT をプラス(+) に設定して変数と文字列を連結する。

SQL> SET CONCAT +
SQL> DEFINE aaa=文字列A
SQL> DEFINE bbb=&aaa+文字列B
SQL> DEFINE bbb
DEFINE BBB             = "文字列A文字列B" (CHAR)
 

CONCAT を OFF にする

SQL> SET CONCAT OFF
SQL> DEFINE aaa=文字列A
SQL> DEFINE bbb=&aaa.文字列B
SQL> DEFINE bbb
DEFINE BBB             = "文字列A.文字列B" (CHAR)
--                               ↑ ドットが混入している 
SQL> DEFINE bbb=&aaa文字列B
aaa文字列bに値を入力してください:  -- 未定義の変数名として値入力を要求される。
SP2-0137: DEFINEには等価符号の後に値が必要です。

変数名の後続文字が特定の記号等で始まる場合には運良く連結できるが、一般的には1つの変数名として解釈されてしまうため正しく代入できない。



関連事項

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)