- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postgresqlのトランザクションについて)
postgresqlのトランザクションについて
このQ&Aのポイント
- postgrsqlで「current transaction is aborted, commands ignored until end of transaction block」のエラーが発生しました。エラーを解決するためにはどのような対策が必要でしょうか?
- トランザクションを全てはずすと正常にinsertできるが、エラーが発生した際のrollbackができなくなるため、対策が必要です。
- 複数テーブルに対してinsertを行っている際に、エラーが発生した場合に全てのテーブルをrollbackしたいですが、エラーがないためrollbackが行われていません。対策を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- muuming2001
- ベストアンサー率23% (202/847)
回答No.2
- muuming2001
- ベストアンサー率23% (202/847)
回答No.1
お礼
muuming2001さん、ありがとうございます! postgresのログを見ましたところ、原因がわかりました。 ステートメント名が既に存在している、、、でした。 何気なく、他の箇所では全て別名で記述していましたが、それが大事だったんですね。for文だったので添え字をくっつけたステートメント名にして正常に実行することができました。 助かりました!
補足
トランザクションをいれるとエラーになるのは何故なのか?、トランザクション無しだと何故成功するのか? 疑問が残りますが、処理としては解決できたので取り急ぎ「良し!」とします。