mergeinto的⽤法
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,
values什么意思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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论