【发布时间】:2012-07-03 14:42:47
【问题描述】:
我正在使用以下查询,
MERGE INTO table2 b
USING (
SELECT column1,column2,column3
FROM table1
) a
ON (a.column3 = 'UPDATE')
WHEN NOT MATCHED THEN
INSERT (b.column1, b.column2) VALUES (a.column1,a.column2)
WHEN MATCHED THEN
UPDATE SET a.column1 = b.column1,a.column2=b.column2;
当 table2 为空时,它第一次成功运行。
如果我第二次运行,即使 table1 数据没有更改,我也会收到unable to get a stable set of rows in the source tables 的错误。是否有解决此错误的方法。
正如thread 中提到的,我尝试放置Distinct,但它没有解决..
我认为rowid应该解决这里的目的..但不确定
谢谢
【问题讨论】:
-
我尝试了该线程中提到的解决方案,但它不起作用..不确定我是否做错了什么