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

对于事务ID不是SPACES的行,如何将ORDERS表的IS_PAID列更新为“是”?您将如何通过“ WHERE CURRENT OF”子句使用UPDATE游标?

鲁浩渺
2023-03-14
本文向大家介绍对于事务ID不是SPACES的行,如何将ORDERS表的IS_PAID列更新为“是”?您将如何通过“ WHERE CURRENT OF”子句使用UPDATE游标?,包括了对于事务ID不是SPACES的行,如何将ORDERS表的IS_PAID列更新为“是”?您将如何通过“ WHERE CURRENT OF”子句使用UPDATE游标?的使用技巧和注意事项,需要的朋友参考一下

一旦执行UPDATE语句,“ WHERE CURRENT OF”子句将在行上放置排他锁。“ WHERE CURRENT OF”子句将指向游标的最近获取的行。

我们可以通过以下方式使用“ WHERE CURRENT OF”更新光标中的行。

  • 光标定义。

EXEC SQL
DECLARE ORDER_CUR CURSOR FOR
SELECT ORDER_ID, TRANSACTION_ID FROM ORDERS
WHERE ORDER_DATE = ‘2020-07-28’
END-EXEC
    list-paddingleft-2">
  • OPEN游标

EXEC SQL
OPEN ORDER_CUR
END-EXEC
  • FETCH光标和更新行

SET WF-END-CURSOR-N TO TRUE
   PERFORM UNTIL WF-END-CURSOR-Y
   EXEC SQL
   FETCH ORDER_CUR INTO :ORDER-ID, :TRANSACTION-ID
END-EXEC
IF TRANSACTION-ID NOT = SPACES
   EXEC SQL
  UPDATE ORDERS SET IS_PAID = ‘YES’
WHERE CURRENT OF ORDER_CUR
END-EXEC
ELSE
CONTINUE
END-IF
END-PERFORM
 类似资料:
  • 本文向大家介绍您将如何从ORDERS DB2表上定义的可滚动游标的当前位置获取第二列?,包括了您将如何从ORDERS DB2表上定义的可滚动游标的当前位置获取第二列?的使用技巧和注意事项,需要的朋友参考一下 我们可以使用SCROLLABLE CURSOR直接将光标指向所提到的相对位置。相对位置是当前表中该行在结果表中的位置。例如,考虑下表。 ORDER_ID 订购日期 A22367 2020-07

  • 问题内容: CREATE TABLE foo ( name text NOT NULL, deleted_at timestamp without time zone ); 当我尝试使用ORM执行此操作时,我最终遇到此错误 我想使用ORM,以便在更新命令完成之前使用更改来更新会话。 问题答案: 使用ORM发行多表更新的方法如下: Query API 文档中的脚注,用于指向Core多表更新文档的更新

  • 本文向大家介绍游标中“ FOR UPDATE OF”子句的目的是什么?如果在COBOL-DB2程序中不使用此子句就触发UPDATE语句,将会发生什么情况?,包括了游标中“ FOR UPDATE OF”子句的目的是什么?如果在COBOL-DB2程序中不使用此子句就触发UPDATE语句,将会发生什么情况?的使用技巧和注意事项,需要的朋友参考一下 游标声明中提供了“ FOR UPDATE OF”子句,当

  • 我有以下格式的列表 如何根据其键找到值,例如我需要第3行的名称...以及如何根据行对其进行排序

  • 问题内容: 我的用于用户访问的Web应用程序体系结构以两种方式分开:-经理表(列:特权)员工表(列:特权,许可) Manager是一个超级管理员帐户,用于根据套餐类型(例如,基本,白银,黄金)来订阅我们的服务。 对于Employee,默认情况下,此acc将由Manager创建并 共享与Manager相同的特权 (订阅的服务包)。但是,经理需要为每个功能设置 权限级别 ,以便员工能够访问Web应用程

  • 问题内容: 我试图在针对ElasticSearch进行测试的套件上提高性能。 测试需要很长时间,因为Elasticsearch在更新后不会立即更新其索引。例如,以下代码在运行时不会引发断言错误。 目前,针对该问题的解决方案是将调用放到代码中,以给ElasticSearch一些时间来更新其索引。 显然,这并不是一件好事,因为它很容易出现故障,假设如果ElasticSearch花费多于一秒钟的时间来更