Db2

DB2 select from final table update 給出 SQL0199 錯誤

  • March 20, 2019

目標:我正在嘗試檢索受UPDATE查詢影響的記錄。

根據IBM 的文章,我可以使用以下查詢:

SELECT empno, salary FROM FINAL TABLE
(UPDATE employee SET salary = salary * 1.10 WHERE job = 'CLERK')

但是,當我嘗試在數據庫中執行類似查詢時,出現以下錯誤:

[42601][-199] [SQL0199] Keyword UPDATE not expected. Valid tokens: INSERT.

查看 Db2 for i 7.2 知識中心,顯示只有INSERT’s 在 s 中有效data-change-table-reference,而不是UPDATE’s

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/db2/rbafztabref.htm

data-change-table-reference

|----+-FINAL-+--TABLE--(--INSERT statement--)--+--------------------+----|
    '-NEW---'                                 '-correlation-clause-'     

如果指定了 data-change-table-reference,則中間結果表是由 INSERT 語句插入的行集。

您在原始問題中引用的連結適用於 DB2 for LUW(Linux、Unix 和 Windows)9.7。這與 Db2 for i 本質上是不同的產品。

引用自:https://dba.stackexchange.com/questions/232659