13.24 EXIT
構文
{EXIT | QUIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK]
保留中のすべての変更をコミットまたはロールバックし、Oracle DatabaseをログアウトしてSQL*Plusを終了し、オペレーティング・システムに制御を戻します。
項
{EXIT | QUIT}
どちらでも同じように使用できます(QUITはEXITのシノニムです)。
SUCCESS
正常に終了します。
FAILURE
WARNING
COMMIT
n
リターン・コードとして指定する整数を指定します。
variable
SQL.SQLCODEのような、ユーザー定義変数またはシステム変数(バインド変数ではありません)を指定します。EXIT variableでは、variableの値がリターン・コードとして戻され、処理が終了します。
:BindVariable
VARIABLEコマンドを使用してSQL*Plusで作成され、PL/SQLまたはその他のサブプログラムの中で参照される変数を指定します。:BindVariableを使用すると、サブプログラムを終了し、SQL*Plusの画面に戻ることができます。
ROLLBACK
ROLLBACK文が実行され、終了の前に、データベースに対する保留中の変更が破棄されます。
句を指定せずにEXITを入力すると、コミットが実行され、値SUCCESSが戻され、処理が終了します。
使用方法
EXITを使用すると、オペレーティング・システムのリターン・コードを指定できます。そのため、SQL*Plusのスクリプトをバッチ・モードで実行できます。また、予期しないイベントの発生をプログラムによって検出できます。検出の方法は、オペレーティング・システムによって異なります。
キーワードSUCCESS、WARNINGおよびFAILUREは、オペレーティング・システム依存値を表します。システムによっては、WARNINGとFAILUREの区別がない場合もあります。
オペレーティング・システムによっては、オペレーティング・システム・リターン・コードの範囲が制限されていることもあります。その場合は、プラット・フォーム間でのEXIT nおよびEXIT variable の移植性が制限されます。たとえば、UNIXでは、リターン・コード用の記憶域は1バイトのみです。したがって、リターン・コードの範囲は0から255に制限されます。
EXITオプションに構文エラーがあった場合または非数値変数を使用した場合は、SQL*PlusによってEXIT FAILURE COMMITが実行されます。
条件付きの終了については、「WHENEVER SQLERROR」および「WHENEVER OSERROR」コマンドを参照してください。
例
次の例では、まだコミットされていないすべてのトランザクションをコミットし、最後に実行されたSQLコマンドまたはPL/SQLブロックのエラー・コードを戻します。
EXIT SQL.SQLCODE