sqlplus异常をシェルでキャッチする方法
SQLPlus例外を捕捉および処理するには、次の方法を使用できます:
- エラーが発生したときに実行する処理を定義するには、WHENEVER SQLERROR 文を使用します。例えば、エラーが発生したときに SQLPlus セッションを終了させるには、次の文を使用できます。
- SQLERROR 時は必ず SQL.SQLCODE を終了します
- あるいは、以下の文を使用して、エラーが発生してもスクリプトの実行を続けます。
- SQLエラー時は継続
- SQLPlus スクリプト内で例外ブロックを使用して例外をキャッチして処理します。たとえば、次のようなコードブロックを使用して例外をキャッチして処理することができます。
- — SQL 文
EXCEPTION
WHEN OTHERS THEN
— 例外処理文
END; - 例外ブロック内では、エラーログの記録やトランザクションのロールバックなど、必要な例外処理コードを記述することができます。
- SPOOLコマンドで出力ログファイルを保存する。SQL*Plusコマンドと出力をログファイルに保存するには、以下のコマンドを使用できる。
- ファイル logfile.log に SPOOL
- これにより、異常が発生した場合でも、ログファイルを参照してエラー情報やコンテキストを取得できます。
以上の方法を使用するとSQLPlus Exceptionを捕捉・処理でき、例外発生時に適切な措置をとることができます。