Whenever Oserror

WHENEVER OSERROR

構文

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

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

iSQL*Plusでは、オペレーティング・システム・エラーが発生した場合、指定した操作(デフォルトでは現行のスクリプトを停止)を実行し、フォーカスを作業領域に戻します。

[SUCCESS | FAILURE | n | variable | :BindVariable]

オペレーティング・システムのエラーが検出されたら、すぐに指定した処理を実行するように、SQL*Plusに指示します。成功または失敗を示すコード、オペレーティング・システム障害コード、またはユーザー指定の数値や変数をSQL*Plusが戻すように指定することもできます。

EXIT [SUCCESS | FAILURE | n | variable | :BindVariable]

オペレーティング・システムのエラーが検出されたらすぐに終了するように、SQL*Plusに指示します。成功または失敗を示すコード、オペレーティング・システム障害コード、またはユーザー指定の数値や変数をSQL*Plusが戻すように指定することもできます。詳細は、「EXIT」を参照してください。

CONTINUE

EXITオプションをオフにします。

COMMIT

終了または継続する前にCOMMITを実行し、データベースに対する保留中の変更を保存するようにSQL*Plusに指示します。

ROLLBACK

終了または継続する前にROLLBACKを実行し、データベースに対する保留中の変更を破棄するようにSQL*Plusに指示します。

NONE

継続する前に何の操作もしないようにSQL*Plusに指示します。

使用方法

WHENEVER OSERRORコマンドを入力しない場合、SQL*Plusのデフォルト動作では、オペレーティング・システムのエラーが発生すると、何も処置せずに処理が続行されます。

WHENEVER SQLERRORコマンドを入力しない場合、SQL*Plusのデフォルト動作では、SQL*Plusのエラーが発生すると、何も処置せずに処理が続行されます。

出力ファイルからの読取り時に障害が発生した場合、次のスクリプト内のコマンドは、iSQL*Plusの現行のスクリプトの処理を中止して、作業領域の入力領域にフォーカスを戻すか、またはSQL*Plusを終了し、保留中の変更があればすべてコミットします。

WHENEVER OSERROR EXIT
START no_such_file
 
OS Message: No such file or directory
Disconnected from Oracle......