【发布时间】:2012-11-14 23:41:49
【问题描述】:
我正在尝试:
- 选择一行并将其命名为 CTE
- 更新该表 CTE 的一些列
我正在使用公用表表达式来实现它,但我无法让它工作。
Begin
With CTE AS
(select * from MyTable where Column1 is null order by Column2 desc
(Update CTE
Set Column3= 1, Column4 = 1, Column5 = 1))
Commit;
我已尝试遵循 DB2 规范,但仍有问题:)
【问题讨论】:
-
这(可能)取决于您的 DB2 版本(和平台),应该包括在内。另外,请注意,除非您有某种依赖于在 CTE 中的排序的函数(例如,
FETCH FIRST 1 ROW ONLY),否则ORDER BY将在查询的其余部分很大程度上被忽略,并且可能会被优化器删除。
标签: sql db2 common-table-expression