0

最後にエラーをチェックするストアド プロシージャがあり、エラーがある場合はロールバックを実行し、バッチ テーブルのステータスを「FAILED」に更新します。ストアド プロシージャを実行すると、「タイムスタンプの競合が発生しました」という SQLCODE 818 エラーが定期的に発生します。

バッチ テーブルのステータスを変更する update ステートメントを削除しても、エラーは発生しません。

エラーが発生しないようにこれらのアクションを実行するためのベスト プラクティスは何ですか?

コードのセクションは次のようになります。

IF v_error_count > 0 THEN                                           
    -- Batch failed      
    ROLLBACK;       

    UPDATE batch_table bt
    SET bt.batch_status = 'FAILED'
    WHERE batch_id = input_batch_id;        

END IF;

助けてくれてありがとう。

4

1 に答える 1