首页 > 解决方案 > "with" 公用表表达式

问题描述

我已经使用DB2定义了公用表表达式,例如:

With Example_CommonTableExpression AS (select * from Table1 inner join Table2...)

我想更新在定义的 CommonTableExpression 中有引用的 tableC。

update tableC 
  set somefield="xyz" 
where tableC.someValue IN (select someValue 
                           from Example_CommonTableExpression)

但我收到以下错误

42601 在“BEGIN-OF-STATEMENT”之后发现了一个意外的标记“With Example_CommonTableExpression AS (”

是不是该更新不适用于 CommonTable 表达式?不幸的是,我在参考文档 [ref doc][1] 中没有找到太多帮助

问题/解决方法:

我可以使用整个 select 语句而不是在 Example_CommonTableExpression 中检查它,但是我有多个更新语句并且有一个大的子选择看起来并不吸引人。

标签: sqldb2sql-updatecommon-table-expression

解决方案


推荐阅读