COBOL-DB2程序中SAVEPOINT的用途和用法


问题:如何在DB2中使用SAVEPOINT?SAVE-POINT在DB2中的作用是什么?请举例说明。

解决方案

SAVEPOINT用作标记或标签,用于保存对数据库的更改,而无需提交。在对数据库进行更改后,我们可以使用命名SAVEPOINT语句,然后可以在任何时间点使用ROLLBACK语句将更改回滚到此保存点。

实际上,我们可以在COBOL-DB2程序中设置多个SAVEPOINT,并且可以使用ROLLBACK跳转到其中任何一个SAVEPOINT。这将还原在SAVEPOINT之后对数据库进行的所有更改。

我们可以如下使用ROLLBACK和SAVEPOINT。

示例

SAVEPOINT MARK1
…
……
ROLLBACK TO SAVEPOINT MARK1

例如,考虑以下流程图。


在初始SQL语句中,ORDER_TOTAL使用SQL语句更新为值2346,并且使用SAVEPOINT将数据库的当前状态标记为“A”。

接下来对ORDER_TOTAL列进行更新,并再次使用SAVEPOINT将数据库状态标记为“B”。现在,如果给出“ROLLBACK TO SAVEPOINT A”,则数据库的当前状态将恢复到ORDER_TOTAL = 2346的状态。

更新于: 2020年11月30日

2K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告