Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(トランザクション処理について)
閲覧数:846
掲示板(トランザクション処理について)
名前
匿名
題名 トランザクション処理について
質問内容

質問を評価する
(0ポイント)
初歩的な質問かもしれませんがご教示を御願いします。

javaでのDB操作の基礎としてトランザクション処理がありますが、オートコミットをOFFにして、トランザクションを張った後、コミットする前に再度トランザクションを張った場合、DBの中身はどうなるのでしょう?
自動的にコミットされるのか、破棄(ロールバック)されるのか、それとも状態を保持したままロールバックポイントを切り替えてくれるのでしょうか?
現在以下のような問題があり、それをトランザクションの張替えでなんとか対応できないか模索中です。

=============================
現在構築中のシステムの仕様が以下のようになっています
・数十万件のデータを入力ファイルとして取り込み、一件ずつ処理を行う
・処理中は複数のSQLが連動して実行される
・入力ファイル上の全ての処理が正常終了した場合のみコミットされる
・異常時はエラーメッセージを表示し、ロールバックされる

これを顧客要望で以下のようにしたいと言われています
・処理中に異常が発生したら、その一件分のみロールバックする
・コミットは最後にまとめて一回だけで行う
質問日時 2013-02-18 13:30:20
名前
匿名
回答内容

回答を評価する
(0ポイント)
一件失敗でその一件だけロールバックと、一件ずつコミット
の違いは…反映タイミングを一緒にしたいってことかな。

ワークテーブルに一件ずつコミット、最後にinsert-selectすれ
ば良いのでは?
回答日時 2013-02-18 19:46:04

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道