使用保存点将各组相关语句分开可以在事务内标识重要的状态,并且可以有选择地返回到这些状态。
SAVEPOINT 语句定义事务执行过程中的中间点。使用 ROLLBACK TO SAVEPOINT 语句可以撤消该点后的所有更改。执行了 RELEASE SAVEPOINT 语句或事务结束后,则不能再使用该保存点。请注意,保存点对提交没有影响。当执行 COMMIT 时,该事务内的所有更改都在数据库中永久生效。
RELEASE SAVEPOINT 或 ROLLBACK TO SAVEPOINT 命令不会释放任何锁:只有在事务结束后才会释放锁。
如果对保存点进行命名和嵌套,一个事务内就可以有多个活动保存点。SAVEPOINT 和 RELEASE SAVEPOINT 之间的更改可以通过回退到前一个保存点或回退事务本身来取消。在提交事务之前,事务内的更改还没有永久地应用到数据库中。事务结束后,所有保存点都将被释放。
不能在批量操作模式下使用保存点。使用保存点的附加开销很少。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |