无法在源表中获得一组稳定的行?

时间:2015-06-27 06:54:13

标签: oracle merge-statement

当我使用merge语句时,我收到了错误。

Error code 30926, SQL state 99999: ORA-30926: unable to get a stable set of rows in the source tables

这是我的查询:

merge into dept_fc_link l 
using 
(select distinct dept_id,f_id,stk_point from temp_dept_fc_link) t 
on (l.dept_id = t.dept_id) 
when matched then 
update set l.stk_point = t.stk_point 
when not matched then 
insert(l.dept_id,l.f_id,l.stk_point) values(t.dept_id,t.f_id,t.stk_point);

可以指出我的错误吗?

1 个答案:

答案 0 :(得分:0)

通常在查询中有重复项时会发生这种错误,换句话说,using子句中的查询会为on子句中的连接条件返回多于1行。 我不知道你的数据,但它是一个很好的猜测。