您如何还原在COBOL-DB2程序中完成的所有DB2表更改?

我们可以使用ROLLBACK语句还原在COBOL-DB2程序上完成的所有更改。但是,ROLLBACK仅在未发出COMMIT之前适用。如果我们使用了COMMIT语句,那么ROLLBACK将还原最后一个COMMIT点之后在DB2表中所做的所有更改。

例如,在commit语句之后,我们执行UPDATE语句来修改ORDERS表的ORDER_PAID列。之后,如果我们触发ROLLBACK,那么ORDERS表上的UPDATE将被还原。

示例

EXEC SQL
COMMIT
END-EXEC

EXEC SQL
UPDATE ORDERS
   SET ORDERS_PAID = ‘YES’
WHERE ORDER_DATE = :WS-CURRENT-DATE
END-EXEC

EXEC SQL
ROLLBACK
END-EXEC

在这种情况下,在触发ROLLBACK语句后,将还原UPDATE语句所做的所有更改。

猜你喜欢