|
初歩的な質問かもしれませんがご教示を御願いします。
javaでのDB操作の基礎としてトランザクション処理がありますが、オートコミットをOFFにして、トランザクションを張った後、コミットする前に再度トランザクションを張った場合、DBの中身はどうなるのでしょう? 自動的にコミットされるのか、破棄(ロールバック)されるのか、それとも状態を保持したままロールバックポイントを切り替えてくれるのでしょうか? 現在以下のような問題があり、それをトランザクションの張替えでなんとか対応できないか模索中です。
============================= 現在構築中のシステムの仕様が以下のようになっています ・数十万件のデータを入力ファイルとして取り込み、一件ずつ処理を行う ・処理中は複数のSQLが連動して実行される ・入力ファイル上の全ての処理が正常終了した場合のみコミットされる ・異常時はエラーメッセージを表示し、ロールバックされる
これを顧客要望で以下のようにしたいと言われています ・処理中に異常が発生したら、その一件分のみロールバックする ・コミットは最後にまとめて一回だけで行う
|