为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8.1
【操作系统】:
【CPU】:
【问题描述】*:
drop table test_m;
create table test_m(key1 int primary key, key2 int);
insert into test_m values(1,1);
此时一条记录
merge into test_m using (select test_m.rowid rid, source.* from test_m right join (select 1 in_v0, 1 in_v1, 3 up_v0 from dual) source on test_m.key1=source.in_v0) source on (test_m.rowid=source.rid)
when matched then update set key1=source.up_v0
WHEN NOT MATCHED THEN insert (key1, key2) values(source.in_v0, source.IN_V1);
执行merge 后 oracle 还是一条,DM 变成两条
DM:
ORACLE :
您好!经初步验证可以通过以下方法规避问题:
sp_set_para_value(1, 'MERGE_OPT_FLAG', 1);
为了进一步验证和分析问题希望提供数据库的具体版本信息,可以通过以下sql查询获取:
select * from v$version;