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
廣告