对于事务ID不是SPACES的行,如何将ORDERS表的IS_PAID列更新为“是”?您将如何通过“ WHERE CURRENT OF”子句使用UPDATE游标?
一旦执行UPDATE语句,“WHERECURRENTOF”子句将在行上放置排他锁。“WHERECURRENTOF”子句将指向游标的最近获取的行。
我们可以通过以下方式使用“WHERECURRENTOF”更新光标中的行。
光标定义。
EXEC SQL DECLARE ORDER_CUR CURSOR FOR SELECT ORDER_ID, TRANSACTION_ID FROM ORDERS WHERE ORDER_DATE = ‘2020-07-28’ END-EXEC
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
热门推荐
10 写给同事生日祝福语简短
11 孩子带子结婚祝福语简短
12 表姐孩子生日祝福语简短
13 新房请柬祝福语简短大全
14 礼物互寄祝福语简短
15 节日对老公祝福语简短
16 药材广告祝福语大全简短
17 最美结婚蜜月祝福语简短
18 宠爱员工祝福语简短精辟