- - PR -
current transaction is aborted
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-24 20:55
お世話になります。
Postgre8.0&Javaで開発しています。 トランザクション発行 try{ 追加SQL発行処理 }catch(Exception ex){ 更新SQL発行処理 } コミット発行 ※すでにデータが登録されているならば、更新処理を行うという意図 を処理した場合、更新SQL発行処理をすると、「current transaction is aborted, commands ignored until end of transaction block」が出力され、エラーとなります。 このエラーの意味を調べているのですが、教えてください。 なお、処理を↓のように変更した場合、エラーは発生しません。 トランザクション発行 try{ 更新SQL発行処理 }catch(Exception ex){ 追加SQL発行処理 } コミット発行 またOracle10gでは、当初の処理を行ってもエラーは発生しません。 Postgreのエラーでしょうか? | ||||||||
|
投稿日時: 2007-07-24 21:38
PostgreSQLでは、トランザクション中にエラーが発生すると
ロールバックしない限り以降の操作も全てエラーになります。 なので、
という構造には出来ません。 不便と言えば不便ですが、 正常処理に例外を使うな、とも言えるでしょう。 [追記]
これだと存在しない場合に0件更新で正常終了です。 [/追記] [ メッセージ編集済み 編集者: あしゅ 編集日時 2007-07-24 22:02 ] |
1