--merge into 合并数据
--有则改之无则加勉
语法:
merge into 表A --进行插入和更新的表
using 表B --参考表
on (条件) --条件
when matched then --当匹配上
update set a.列=b.列|值,..
when not matched then --当没匹配上
insert (列1,列2..) values (b.列|值,...)
--创建emp1内容和emp表的10部门,20部门一致
create table emp1 as select * from emp where deptno in (10,20)
--创建emp2内容和emp表的20部门,30部门一致
create table emp2 as select * from emp where deptno in (30,20)
--把emp2表的20部门数据的员工姓名改为小写
update emp2 set ename=lower(ename) where deptno=20
select *
from emp1;
select *
from emp2
--参照emp2合并emp1
merge into emp1 a
using emp2 b
on (a.empno=b.empno)
when matched then
update set a.ename=b.ename
when not matched then
insert values(b.empno,
b.ename,
b.job,<