对于那些熟悉Postgresql的人来说,这应该是一个简单的方法:
我的应用程序发出一个begin_work,做了一些操作,然后发出一个commit.操作和提交包含在try-catch块中,其catch语句执行rollback.假设:如果在SQL操作期间发生错误,Postgresql将自动回滚事务,因此我的回滚将是多余的,但无害.这个假设是否正确?
(无论如何我还是要回滚的原因:以防万一与SQL操作无关的异常.)
如果发生错误,PostgreSQL 实际上不会回滚事务。它会导致所有后续语句失败并出现错误。您可以在客户端中尝试一下。
任何语句执行成功之前都需要执行回滚。
如果您关闭连接并启动新连接,则影响不大。但是,如果保留连接并运行其他希望成功执行的语句,则它将不起作用。
| 归档时间: |
|
| 查看次数: |
5527 次 |
| 最近记录: |