plsql実行時に異常が実行を続行したい問題について
734 ワード
プロジェクトではplsqlでストレージ・プロシージャを書き込み、カーソルを巡ってテーブルにデータを挿入する問題がよく発生します.
ただし、インストールが正常であれば途中で異常が出た場合は実行しません
しかし、後続の挿入に影響を及ぼさずに異常を投げ出した記録を挿入し続ける必要がある場合もあります.
解決策はbegin endをネストすることです.異常を投げ出す可能性のあるコードをこのネストされたbegin endに入れます
ok...
ただし、インストールが正常であれば途中で異常が出た場合は実行しません
しかし、後続の挿入に影響を及ぼさずに異常を投げ出した記録を挿入し続ける必要がある場合もあります.
解決策はbegin endをネストすることです.異常を投げ出す可能性のあるコードをこのネストされたbegin endに入れます
declare
myexception exception;
begin
for i in 1..10
loop
begin
raise myexception;
--insert....
exception
when others
then
Dbms_Output.put_line(' '||'>>'||i);
--
end;
Dbms_Output.put_line(' '||'>>'||i);
end loop;
end;
ok...