“具有”公用表表达式

时间:2018-09-03 09:39:43

标签: sql db2 sql-update common-table-expression

我已经使用 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 Expressions? 不幸的是,我没有在参考文档[ref doc] [1]

中找到太多帮助

问题/解决方法:

我可以使用整个select语句来代替在Example_CommonTableExpression中检查它,但是我有多个update语句,并且有一个较大的sub select看起来并不吸引人。

0 个答案:

没有答案