在db2中使用带有update的cte

42fyovps  于 2022-11-23  发布在  DB2
关注(0)|答案(1)|浏览(193)

我有一组查询在db2的更新查询中重复,我需要摆脱这些重复的查询,所以我能做的最好的事情是。Cte在db2的更新查询中不工作。
无法找到解决方案。对于选择查询,cte正在工作,但对于更新则不工作

yrefmtwq

yrefmtwq1#

您可以通过CTE使用所谓的“从数据更改table-reference中选择“Db2功能。

CREATE TABLE MYTAB (ID INT, DATA INT);

INSERT INTO MYTAB (ID, DATA) VALUES (1, NULL);

WITH 
  UPD (ID, DATA) AS (VALUES (1, 1), (2, 2))
SELECT COUNT (1)
FROM NEW TABLE 
(
  UPDATE MYTAB T
  SET DATA = U.DATA
  FROM UPD U
  WHERE T.ID = U.ID
);

SELECT * FROM MYTAB;

| 识别码|数据库|
| - -|- -|
| 一个|一个|
fiddle

相关问题