归并
1 | merge into A_MERGE A USING ( |
归并遇到的问题
Merge into的注意点之ORA-30926: 无法在源表中获得一组稳定的行
在遇到这样的问题,我们可以过滤掉重复列值,可以使用distinct进行去重。
也可以暴力一点直接删除:
1
2
3
4
5
6
7
8 delete from test_source where name = 'zhi';
merge into test_target
using test_source
on (test_source.id = test_target.id)
when matched then update set
test_target.name = test_source.name
when not matched then insert
values(test_source.name,test_source.id);