简体   繁体   English

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

[英]Unable to get a stable set of rows in the source tables?

When I using merge statement, I got the error. 当我使用merge语句时,出现错误。

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

Here my query: 这是我的查询:

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);

Can point out my mistake? 可以指出我的错误吗?

Usually this kind of error happend when you have duplicates in the query, in other words query in the using clause returns more than 1 row for the joining condition in on clause. 通常,当查询中有重复项时会发生这种错误,换句话说,using子句中的查询会为on子句中的连接条件返回多于1行的信息。 I don't know your data, but its a good guess. 我不知道您的数据,但这是一个很好的猜测。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM