COBOL-DB2 程序中 “WHERE CURRENT OF” 子句的用途和用法是什么?
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
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
广告