【发布时间】:2014-12-11 22:06:14
【问题描述】:
我使用的是 PostgreSQL 9.3,我创建了一些包含多个语句的存储过程。我在准备好的语句的帮助下在 Java 应用程序中调用这个存储过程。
现在我读到存储过程中的每个语句都作为事务执行,即在每个语句之后执行一次提交。但我想要的是让整个存储过程作为一个事务执行,即只有一个提交。
我该怎么做?也许在 JDBC 级别停用自动提交?
【问题讨论】:
-
禁用自动提交并在开始事务后调用该函数。
-
@a_horse_with_no_name 啊,你的意思是第一个 dbConnection.setAutoCommit(false); (事务块开始)然后我执行准备好的语句,然后执行 dbConnection.commit();。这是正确的吗?我必须关心回滚吗?
标签: postgresql jdbc transactions commit autocommit