処理したいレコードのリストがあり、カーソルはテーブルからそれらを反復処理します。プロシージャは、insertステートメントにヒットして終了するだけで終了します。エラーを無視して次のレコードの処理を続行できる方法はありますか?
カーソルC1:各レコードについて:table_t1(col1)値に挿入( '...'); <-レコード 'n'の終了カーソルのInsertステートメントが失敗する
終了せずにn + 1からカーソルの終わりまで処理を続けたいと思います。
助けてくれてありがとう。
それを見つけた。
終了ハンドラの代わりに継続ハンドラを宣言する必要があります。そうすれば、例外があったとしても、ハンドラーに入り、次のレコードに進みます。
SQLEXCEPTION、SQLWARNINGの継続ハンドラーの宣言
BEGIN ...例外/警告を処理するコード... END