17,082
社区成员
发帖
与我相关
我的任务
分享
create table mergetest(id number primary key,name varchar(20));
create table newmergetest(id number primary key,name varchar(20));
insert into newmergetest values(1,'first');
insert into newmergetest values(2,'second');
insert into mergetest values(1,'one')
insert into mergetest values(2,'two');
insert into mergetest values(3,'three');
MERGE INTO newmergetest m
using (select * from mergetest) t
ON (m.id = t.id)
WHEN MATCHED THEN
UPDATE SET m.name = t.name
WHEN NOT MATCHED THEN
INSERT VALUES (t.id,t.name) ;
SQL> select * from newmergetest;
ID NAME
---------- --------------------
1 one
2 two
3 three
merge into a --要插入修改的表
using b--用来参考的表
on (a.id=b.id)--匹配条件
when matched then
update --update不要set
when not matched then
insert --不要into