Merge into合并。作用:有则更新,无则插入
需求一:把备份表中的数据恢复到一张表中(无则插入)
需求二:部分员工薪资上涨改变原表值之后,备份表中的数据也随之更新。(有则更新)
实现需求1:
MERGE INTO emp_jay a – 少
USING emp_jay_temp b – 多
ON (a.empno = b.empno)
WHEN NOT matched THEN
INSERT VALUES(b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal)
– 原始表新增数据,备份表数据怎么办 方法1、2
– 法2(追加):只将新数据备份到备份表
MERGE INTO emp_jay_temp b – 少
USING emp_jay a – 多
ON (a.empno = b.empno)
WHEN NOT matched THEN
INSERT VALUES(b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal)
实现需求2:
MERGE INTO emp_jay_temp a
USING emp_jay b
ON (a.empno = b.empno)
WHEN NOT matched THEN
UPDATE SET a.sal = b.sal
WHERE a.job<>‘实习员工’