2.7 SQL、SQLclおよびPL/SQLコマンドの操作

次のコマンドを使用して、SQLコマンドおよびPL/SQLブロックを編集します。

A[PPEND] text

指定されたテキストを、SQLバッファ内の現在の行の末尾に追加します。前にある文字とtext を空白で区切るには、間に空白を2つ入力します。セミコロンで終わるtextを追加するには、コマンドを2つのセミコロンで終了します(単一のセミコロンはコマンド終了記号と解釈されます)。

C[HANGE] sepchar old [sepchar [new [sepchar]]]

SQLバッファの現在の行で最初に出現するoldを変更します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。sepcharには、スラッシュ(/)や感嘆符(!)などの英数字以外の文字が使用できます。CHANGEと最初のsepcharの間の空白は省略できます。

DEL [n | n m | n * | n LAST | * | * n | * LAST | LAST]

SQLバッファ内の行を1行以上削除します(アスタリスク(*)は現在の行を意味します)。DELnまたは*の間の空白は省略できますが、DELLASTの間の空白は省略できません。バッファの現在の行を削除するには、句を指定せずにDELを入力します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

I[NPUT] [text]

SQLバッファの現在の行の後に、1行以上のテキストを追加します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST]

SQLバッファに格納されている、最後に実行された1行以上のSQLコマンドまたはPL/SQLブロックを表示します。アスタリスク(*)は現在の行を示します。LISTnまたは*の間の空白は省略できますが、LISTLASTの間の空白は省略できません。すべての行を表示するには、句を指定せずにLISTを入力します。

SQLclでは、SQLバッファのすべての行を表示するために「;」を使用することもできます。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

次のコマンドを使用して、スクリプトを実行します。

@ { url | file_name[.ext] } [arg ]

指定したスクリプトのSQLcl文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーから呼び出すことができます。通常どおり、値はスクリプト変数に代入できます。

@@ { url | file_name[.ext] } [arg ]

指定したスクリプトのSQLcl文を実行します。このコマンドは、@コマンドとほぼ同じです。呼出し元スクリプトと同じパスまたはurlで指定されたスクリプトを検索する追加機能があるため、ネストされたスクリプトを実行する場合に便利です。

REPEAT <iterations> <sleep>

スリープ間隔でバッファ内の現在のSQLを指定された回数繰り返します。最大スリープ間隔は120秒です。

SCRIPT <script file>

指定したスクリプトのSQLcl文を実行します。

STA[RT] { url | file_name[.ext] } [arg ...]

指定したスクリプトのSQLcl文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーから呼び出すことができます。通常どおり、値はスクリプト変数に代入できます。

次のコマンドを使用して、スクリプトを作成および変更します。

ED[IT] [file_name[.ext]]

オペレーティング・システムのテキスト・エディタを起動します。テキスト・エディタには、指定したファイルの内容またはSQLバッファの内容が表示されます。バッファの内容を編集するときは、ファイル名を省略します。

DEFINE変数_EDITORを使用して、使用するエディタを設定できます。SQLclでは、_EDITORを好みのエディタに設定できます。Inlineは、エディタをSQLclエディタに設定します。次のショートカットがサポートされます。

  • ^R - 現行のバッファを実行

  • ^W - バッファの先頭に移動

  • ^S - バッファの最後に移動

  • ^A - 行頭に移動

  • ^E - 行末に移動

FORMAT

  • FORMAT BUFFER - SQLclバッファ内のスクリプトをフォーマットします

  • FORMAT RULES <filename> - SQLDeveloperフォーマッタ・ルール・ファイルをフォーマッタにロードします

  • FORMAT FILE <input_file> <output_file>

GET file_name[.ext] [LIST | NOLIST]

ファイルからSQLバッファに、SQL文またはPL/SQLブロックをロードします。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

REM[ARK]

スクリプト内でコメントを開始します。REMARKコマンドは、コメント行の先頭に指定する必要があります。また、コメントはその行の終わりで終了します(1行にコメントとコマンドの両方は記述できません)。SQLclはコメントをコマンドとして解釈しません。

SAV[E]  [FILE] file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

SQLバッファの内容をスクリプトに保存します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

STORE {SET} file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

現行のSQLcl環境の属性をファイルに保存します。

WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable  | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}

オペレーティング・システム・エラー(ファイルの書込みエラーなど)が発生した場合に、指定された処置(デフォルトでは、SQLclの終了)を実行します。

WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable  | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}

SQLコマンドまたはPL/SQLブロックでエラーが発生した場合に、指定された処置(デフォルトでは、SQLclの終了)を実行します。

次のコマンドを使用して、対話形式のコマンドを記述します。

ACC[EPT] [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]

入力された行を読み込み、指定された置換変数に行の内容を格納します。

DEF[INE] [variable] | [variable = text]

置換変数を指定してCHAR型の値を割り当てるか、1つまたはすべての変数の値および変数タイプを表示します。

PAU[SE] [text]

指定されたテキストを表示して、[Enter]キーを押すまで一時停止します。

PRO[MPT] [text]

指定されたメッセージまたは空白行をユーザーの画面に送信します。

UNDEF[INE] variable ...

指定された1つ以上の置換変数を削除します。削除する置換変数には、DEFINEコマンドによって明示的に定義された変数、またはSTARTコマンドの引数によって暗黙的に定義された変数を指定できます。

次のコマンドを使用して、バインド変数を作成または表示します。

PRINT [variable ...]

バインド変数の現在の値またはすべてのバインド変数を表示します。

次の記号を使用して、スクリプト内で使用する置換変数およびパラメータを作成します。

&n

STARTコマンドで起動するスクリプトのパラメータを指定します。スクリプト名に続いて入力した最初の値が&1に代入され、2番目の値が&2に代入され、以降同様に続きます。

&user_variable, &&user_variable

SQLまたはSQLclコマンドで使用される置換変数を示します。SQLclは、検出した各置換変数に、指定された置換変数の値を代入します。置換変数が定義されていない場合、SQLclは&変数を検出するたびに値の入力をユーザーに要求します。&&変数の場合は、最初に検出したときのみ値の入力をユーザーに要求します。

. (ピリオド)

置換変数に続く文字が変数名の一部と解釈される可能性がある場合、ピリオド(.)によって置換変数名の末尾を示します。