我们可以使用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语句所做的所有更改。