当前位置: 首页 > 编程笔记 >

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

欧君之
2023-03-14
本文向大家介绍您如何还原在COBOL-DB2程序中完成的所有DB2表更改?,包括了您如何还原在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语句所做的所有更改。

 类似资料:
  • 本文向大家介绍如何在COBOL-DB2程序中使用单个INSERT命令在DB2表中插入多行?,包括了如何在COBOL-DB2程序中使用单个INSERT命令在DB2表中插入多行?的使用技巧和注意事项,需要的朋友参考一下 如果要使用单个INSERT命令在DB2表中插入多行,则必须定义主机变量数组并将要插入的行数据移动到该数组中。我们需要在工作存储部分中使用配置S9(4)COMP定义另一个变量,该变量将保

  • 本文向大家介绍您将如何在COBOL-DB2程序中检测游标行结尾的条件?,包括了您将如何在COBOL-DB2程序中检测游标行结尾的条件?的使用技巧和注意事项,需要的朋友参考一下 游标可用于从DB2表中获取多行。但是,我们必须循环获取此游标,以便一次将与单行相对应的值分配给主机变量。基于此逻辑,我们必须处理循环,直到光标到达最后一行结果为止。 当游标中没有剩余的行要提取时,SQLCODE字段的值为10

  • 快速免责声明:我是一个。Net开发人员,可能没有提供您需要的有关环境的所有信息,但可以根据要求获取信息。我们有COBOL程序员,但他们从来没有这样做过。 我们正在将带有DB2数据库的大型机应用程序转换为。Net MVC应用程序和SQL数据库。我们希望从DB2上的COBOL存储过程调用一个大型机COBOL批处理程序。我读过这篇文章,但是我还没有找到一个好的例子来说明如何创建一个调用COBOL程序的C

  • 本文向大家介绍在COBOL-DB2程序中激发COMMIT之后,如何保持CURSOR打开?,包括了在COBOL-DB2程序中激发COMMIT之后,如何保持CURSOR打开?的使用技巧和注意事项,需要的朋友参考一下 每当我们发出COMMIT语句时,所有打开的游标都会被关闭。当我们在使用游标时必须在UPDATE之后频繁使用commit语句时,这是一种非常常见的情况。在这种情况下,我们可以在游标声明期间使

  • 问题内容: 我在下面的表A中,对于每个唯一的ID,都有三个带有某些值的代码。 我有第二个表B,其格式如下: 每个唯一ID仅一行。我想为第一个表中的每个ID填充第一个表A中的第二个表B。 对于上面的第一个表A,第二个表B应该显示为: 如何在单个SQL查询中实现此目标? 问题答案: 如果您的版本没有,您也可以使用以下命令: (在我的V6R1 DB2实例上工作,并有一个SQL Fiddle示例)。

  • 我试图在Db2中创建Oracle PL/SQL包,但遇到了错误。 当我运行上面的代码时,它会导致以下错误: Deploy[tnbdr]db2inst1.arithmetic Running db2inst1.arithmetic-Deploy for debug started。Create PL/SQL Package Specification返回SQLCODE:-104,SQLSTATE:4