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

更新於: 15-Sep-2020

5K+ 瀏覽

開啟你的 職業

完成課程即可獲得認證

開始
廣告