我有一个下面显示的更新语句工作正常,我在子查询中使用了with语句来大大提高性能但是由于某种原因我不允许从同一个表中添加额外的列来更新.
作品:
UPDATE Table_A SET (Col_One) = (WITH OneValue AS (SELECT DISTINCT t.Col_One FROM Table_Two t,Table_A a WHERE t.id = a.New_Id)) SELECT Col_One FROM OneValue);
我想要做的只是包括另一个列来更新table_two像这样
UPDATE Table_A SET (Col_One,Col_Two) = (WITH OneValue AS (SELECT DISTINCT t.Col_One,T.Col_two FROM Table_Two t,Table_A a WHERE t.id = a.New_Id)) SELECT Col_One,Col_Two FROM OneValue);
但我得到ora-01767更新集表达式必须是子查询.我理解这个错误,但没看到我是如何生成它的.任何帮助是极大的赞赏.
提前致谢.