merge into issue

Posted kakaisgood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了merge into issue相关的知识,希望对你有一定的参考价值。

ORA-30926: unable to get a stable set of rows in the source tables

一.经检查,这个错误是由于数据来源表(即语句中,using后面的from关键字后面的表)存在数据重复造成的。在实际项目研发中,我们一般不能随便改动数据表的记录,那么如何避免这种错误的产生以及如何改正错误呢?

1.去除from后面表的重复数据 distinct

2.使用row_number()函数,把重复记录排序,然后子查询只取rd=1的行,这样的子查询生成的记录都是只有一条,再执行语句,就高枕无忧啦,再也不怕数据源表重复数据错误提示了啊。

(select * from(select row_number() over(partition by 字段名 order by 字段名)rd,i.*,i.rowid row_id from 表名 i)where rd=1) 

二.还有可能是原表数据,某一字段数据里面有空格.

trim去除空格就好了.
---------------------
作者:lk_0518
来源:CSDN
原文:https://blog.csdn.net/lk_0518/article/details/79169541
版权声明:本文为博主原创文章,转载请附上博文链接!






以上是关于merge into issue的主要内容,如果未能解决你的问题,请参考以下文章

如何替换merge into

merge into 只取第一行

merge into on条件能有Null判断嘛

oracle merge into 表里面的一部分数据怎样做?

Oracle merge into 的效率问题

oracle merge into 的这个该怎么用