DB2 9 基本(730 考试)认证指南,第 4 部分: 处理 DB2 数据(4)

developerWorks




 




COMMIT 和 ROLLBACK 语句和事宜边界

任务单元和留存点

任务单元(unit of work,UOW) 也称为事宜,它是使用次序进程中一个可恢复的(recoverable) 操作序列。UOW 的经典示例是简朴的银行转帐事宜,即把资金从一个帐号转到另一个帐号中。在使用次序从一个帐号减去一天命量的资金之后,数据库会出现不差别的状况;在第二个帐号中增加异样数量的资金之后,这种不差别才会消弭。当这些点窜已经提交之后,其他使用次序才华利用它们。

当使用次序进程中的第一个 SQL 语句对数据库收回时,一个 UOW 隐式地初阶。一致个使用次序后续的一切读写操作被认为是一致个 UOW 的一部分。使用次序可以在稳当的时分收回 COMMITROLLBACK 语句来结束 UOW。COMMIT 语句将这个 UOW 中所做的一切点窜耐久化,而 ROLLBACK 语句裁撤这些点窜。若是使用次序正常地结束,而没有收回显式的 COMMITROLLBACK 语句,那么 UOW 会自动地提交。若是使用次序在 UOW 结束之前不测埠截至,那么这个任务单元会自动地回滚。

留存点(savepoint) 答理选择性地回滚组成 UOW 的操作子集,何等就不会丧失落整个事宜。可以嵌套留存点并可以同时拥有几个活跃的 留存点级别(savepoint level);这答理使用次序依据需求回滚到特定的留存点。假定在某个 UOW 中界说了三个留存点(A、B 和 C):

do some work;
 savepoint A;
 do some more work;
  savepoint B;
  do even more work;
   savepoint C;
   wrap it up;
  roll back to savepoint B;


回滚到留存点 B 会自动地释放留存点 C,可是留存点 A 和 B 如故是活跃的。

关于留存点级其他更多信息以及阐明'); DB2 留存点支撑的注意示例,见 参考材料。




版权声明: 原创作品,答理转载,转载时请务必以超链接体例标明文章 原始来由 、作者信息和本声明。否则将清查功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1972956.html