PLSQLのFORALL文でSAVE EXCEPTIONS句をつける

PLSQLのFORALL文でSAVE EXCEPTIONSというオプションを付けることができます。

FORALLで1000件処理した場合、どれか1件でエラーとなった場合、どのレコードがどういうエラーかわかりません。

SAVE EXCEPTIONS句をつけることにより、どういうエラーか、どの行がエラーかがわかります。

エラーなのでEXCEPTION部分に以下のように記述します。

errMsgにはORA-xxxxxというようなコードが入ります。

bad_lineには行数が入ります。

上記の例では1件出力して終了しています。

ちなみにFORALLで1000件処理し、501件目でエラーが出た場合、500件目まではコミットされます。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA