ESCAPE システム変数
ESCAPE は SQL*Plus において(≠SQL 文)特殊な機能をもつ記号(エスケープ文字)の機能を打ち消すための「エスケープ文字」を設定する。
- 短縮形は ESC
- デフォルト値 '\' : バックスラッシュ(¥円マーク)
SET ESCAPE コマンド
SET ESCAPE コマンドの構文
SET CMDS[EP] エスケープ文字
ON
OFF
エスケープ文字は単一の文字で英数字、空白は使用できない。デフォルトは '\' に設定されている。
「ON と OFF」 : OFF にした場合にはエスケープ文字が機能しない。
ON にした場合にはバックスラッシュ=円マーク(\) がエスケープ文字列になる
SET ESCAPE ON は SET ESCAPE \ と同じ意味になる。
ESCAPE の設定例
ESCAPE をパーセント(%) に設定して置換文字列(第一引数)をあらわす &1 の文字列を表示する。
SQL> -- &1 は入力変数として処理される
SQL> prompt '&1'
1に値を入力してください: 123
'123'
SQL> -- デフォルトは ON であるが再設定
SQL> set escape on
SQL> prompt '\&1'
'&1'
SQL> -- エスケープ文字を % に設定
SQL> set escape %
SQL> prompt '\&1'
1に値を入力してください: abc
'\abc'
SQL> prompt '%&1'
'&1'
SQL>
置換変数のプレフィックスを変更する
エスケープ文字列を使用する以外にも 置換変数のプレフィックス(接頭語)を変更する ことでも
同じ効果がある。
SQL の特殊文字(% や _)をエスケープするには・・・
SET ESCAPE コマンドは SQL*Plus の特殊文字をエスケープするためのもので SQL の特殊文字をエスケープするには、SQL 文においてエスケープ文字を設定する書式を使用する。
⇒ SQL のワイルドカード文字をエスケープする