无法在源表中获得一组稳定的行?
Posted
技术标签:
【中文标题】无法在源表中获得一组稳定的行?【英文标题】:Unable to get a stable set of rows in the source tables? 【发布时间】:2015-06-27 06:54:12 【问题描述】:当我使用合并语句时,我得到了错误。
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);
能指出我的错误吗?
【问题讨论】:
有问题的两个对象是什么?这些名称暗示它们可能是远程对象的同义词?这些是完全独立的永久表吗? 这是两个单独的表。 这个问题可能重复:***.com/questions/2337271/… 和这个:***.com/questions/28636860/… 和这个:***.com/questions/24936612/ora-30926-merge-state 和这个:***.com/questions/21935340/… 等等。 【参考方案1】:这种错误通常发生在查询中有重复项时,也就是说 using 子句中的查询返回超过 1 行的连接条件在 on 子句中。 我不知道你的数据,但这是一个不错的猜测。
【讨论】:
以上是关于无法在源表中获得一组稳定的行?的主要内容,如果未能解决你的问题,请参考以下文章
合并给出错误 ORA-30926: 无法在源表中获得一组稳定的行
oracle 中报ora-30926 无法在源表中获得稳定的行 是怎么回事