私は手続きを書いており、SQL挿入クエリの成功ステータスのログを記録しようとしています。if ERR 挿入をエラー ログ テーブルに書き込む方法がわかりません。
insert into TableA (select * from TableB);
commit;
**if (show ERR <> NULL)
insert into TableErr**
誰が私をどうやってやればいいの?検索してみるが、検索するキーがわからない
PL/SQL でエラーを処理する従来の方法と同様に、SQL を使用して大量のデータをロードする場合は、エラー処理テーブルの使用を検討してください。
ドキュメントから: http://docs.oracle.com/cd/E11882_01/server.112/e17120/tables004.htm#InsertDMLErrorLogging
サブクエリを含む INSERT ステートメントを使用してテーブルをロードする場合、エラーが発生すると、ステートメントは終了し、全体がロールバックされます。これは、時間とシステム リソースの浪費になる可能性があります。このような INSERT ステートメントの場合、DML エラー ログ機能を使用してこの状況を回避できます。
DML エラー ロギングを使用するには、DML 操作中に発生したエラーをデータベースが記録するエラー ロギング テーブルの名前を指定するステートメント句を追加します。このエラー ログ句を INSERT ステートメントに追加すると、特定の種類のエラーが終了せず、ステートメントがロールバックされなくなります。代わりに、各エラーがログに記録され、ステートメントが続行されます。その後、後でエラーのある行に対して修正アクションを実行します。