使用合并命令(支持的版本9以后)
========================================
用于根据某些条件在单个命令中进行插入/更新。
例子1
merge into emp5 e
using (select empno,ename from emp) e1
on (e.empno=e1.empno)
when matched then
update set
e.ename=e1.ename
when not matched then
insert values(e1.empno,e1.ename)
如果empno存在,则更新,否则插入记录。
Example#2
merge into empls e
using emp e1
on (e.empno=e1.empno)
when matched then
update set
e.ename=e1.ename,
e.job=e1.job,
e.mgr=e1.mgr,
e.hiredate=e1.hiredate,
e.sal=e1.sal,
e.comm=e1.comm,
e.deptno=e1.deptno
when not matched then
insert values(e1.empno,e1.ename,e1.job,e1.mgr,e1.hiredate,e1.sal,e1.comm,e1.deptno)
只是另一个简单的例子。
From: https://bytes.com/topic/oracle/insights/768508-using-merge-command