错误码:-5004
错误内容:无法在源表中获得一组稳定的行
using引用表的关联字段存在重复值
--创建测试表
create table t1(id number,name varchar2(20));
create table t2(id number,name varchar2(20));
insert into t1 values(1,'A');
insert into t1 values(1,'B');
insert into t2 values(1,'XXXX');
commit;
--问题SQL
merge into t2
using t1
on t1.id=t2.id
when matched then
update set t2.name=t1.name;
执行失败(语句1)
-5004: 无法在源表中获得一组稳定的行
以下三种方式均可
1、调整参数MERGE_SRC_MULTI_ROWS_IGNORE=1,sp_set_para_value(1,‘MERGE_SRC_MULTI_ROWS_IGNORE’,1);之后再次执行merge;
2、对引用表的关联字段数据进行去重;
3、可以使用rowid伪列作为关联字段;
文章
阅读量
获赞