【发布时间】:2011-11-09 08:58:53
【问题描述】:
阅读
http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html
没有很好地说明从数据库的角度映射了哪些保存点。
设置保存点后,数据库更改是否可用于其他事务?
谢谢
【问题讨论】:
阅读
http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html
没有很好地说明从数据库的角度映射了哪些保存点。
设置保存点后,数据库更改是否可用于其他事务?
谢谢
【问题讨论】:
保存点不是 JDBC 功能,它们是 DBMS 功能。
除了 Luke 的详细回答,您可能还想阅读 DBMS 手册对保存点的解释
http://www.postgresql.org/docs/current/static/sql-savepoint.html
http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/statements_10001.htm#BABFIJGC
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0003271.html
http://msdn.microsoft.com/en-us/library/ms188378.aspx
http://dev.mysql.com/doc/refman/5.5/en/savepoint.html
【讨论】:
The method Connection.setSavepoint, sets a Savepoint object within the current transaction. The Connection.rollback method is overloaded to take a Savepoint argument.所述
保存点标记当前事务可以回滚到的点。它可以选择仅回滚其中的一些更改,而不是回滚所有更改。例如,假设您:
完成此操作后,表格将包含您插入的前 10 行。其他 5 行将被回滚删除。
设置保存点不会将任何数据“保存”到数据库中。它不会使数据库更改对任何其他事务可见。保存点只是当前事务可以回滚到的标记。
【讨论】: