Oracle 9i引入的功能
-- 按照 指定的条件执行插入或者更新操作
-- 如果满足条件的行存在 执行更新操作;否则执行插入操作
--1避免多次重复执行插入和删除操作
--2提高效率而且使用方便
--3在数据仓库应用中经常使用
两个表的列可以是不一样的 并不一定是一样的数据结构

语法如下

Oracle merge 合并数据_第1张图片

此处以 emp表为例

create table emp1 as select empno,ename,job,mgr from emp;
create table emp2 as select * from emp;

merge into emp2 e2
using emp1 e1 on (e1.empno=e2.empno)
when matched then
update set e2.ename=e1.ename,e2.job=e1.job
when not matched then
insert (empno,ename,job) values (e1.empno,e1.ename,e1.job);

表一种的 只要关联的id对应的数据有变化 就会同步 数据增加 e2就会增加