merge into 是英文的一个短语,意思是汇入,合并。顾名思义,merge into是合并了insert和update操作,其执行效率要高于分别单独执行insert和update语句。
//创建表
create table YLB_TEST_001
(
ID
NUMBER,
NAME VARCHAR2(20)
);
create table
YLB_TEST_002
(
ID
NUMBER,
NAME VARCHAR2(20)
);
//插入数据
insert into ylb_test_001 values(1,’Arlene’);
insert into ylb_test_001 values(2,’Bobby’);
insert into ylb_test_001 values(3,’Tommy’);
insert into ylb_test_001 values(4,’Jackey’);
insert into ylb_test_002 values(1,’Arlene001′);
//执行sql
merge into ylb_test_002 a
using ylb_test_001 b
on (a.id=b.id)
when matched then
update set a.name = b.name
when not matched then
insert values (b.id,b.name);
结果:
小提示:merge into目标表 using源表 on (匹配条件) when matched then 执行update 操作 或 delete操作 when not matched then 执行 insert 操作。
oracle不支持delete操作;
在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已。
源表 匹配条件字段unique
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36974.html