現在、レコードのセットを挿入するプロセスは、次のようなものです:オラクルで新しいトランザクションを開始するためにセーブポイントを代用できますか?
(「レコードのセット」とは、住所、電話番号、その他他の結合テーブル)。
- トランザクションを開始します。
- 関連する一連のレコードを挿入します。
- すべて成功した場合はコミットし、それ以外の場合はロールバックします。
- 次のレコードセットについては、手順1に戻ります。
このようなことをする必要がありますか?
- は
- は、レコードのセットごとにポイントを保存開始スクリプトの開始時にトランザクションを開始します。
- 関連するレコードのセットを挿入します。
- エラーが発生した場合はセーブポイントにロールバックし、すべて成功した場合は続行します。
- スクリプトの先頭にトランザクションをコミットします。
ORA-01555に問題があり、Ask Tomの記事(this oneなど)を読んだ後、2番目のプロセスを試してみることを考えています。もちろん、Tomが指摘するように、新しいトランザクションの開始は、ビジネスニーズによって定義されるべきものです。 2番目のプロセスは試してみる価値がありますか、それとも悪い考えですか?
+1(興味深い質問) – DCookie
UNDO_RETENTIONの現在の値とスクリプト全体の実行に要した時間と各セットの処理に役立つでしょう。 –