ぴゅーもんブログ

カナダ生まれの日本育ち白イルカ(ベルーガ)のぬいぐるみぴゅーもんのブログです、ハワイにもいったよ〜(不定期のんびり更新)

Oracle(へたれな)コネタ SQLPLUSで実行結果を終了コードに設定する方法

バッチやUnix系のシェルスクリプトSQL文を実行させた結果によって処理を制御した場合があります。SQLPLUS上で実行するSQL文内にバインド数を作成しておき、PLSQLにより適切な値を格納します。(DB内で定義したファンクションの戻り値や例外を発生させた時にエラーコードを格納など)このバインド変数をSQLPLUSの終了コマンドである「EXIT」の引数として渡すと、その値が、SQLPLUS自身の終了コードとなり、バッチやシェルスクリプトより参照することが可能。
バッチの場合「if errorlevel」により終了コードを確認可能です。

WHENEVER SQLERROR EXIT 9 
var i number 
exec :i := ファンクションhoge 
exit :i 

参考:
Re:ストアドファンクションの戻り値の取得
RE:SQLPLUSのコマンドエラーを起こしたい
オラクル9iのSQL*PLUSメモ