无条件INSERT ALL:
insert all into_clause [values_clause] subquery;
//数据被无条件的复制到各自2张表内
insert all
into sal_record values(ename,hiredate,sal)
into mgr_record values(ename,mgr,sal)
select ename,hiredate,mgr,sal from emp;
有条件INSERT ALL:
insert all
[when condition then] [into_clause values_clause]
[else] [into_clause values_clause] subquery;
//满足条件condition则插入目标表
insert all
when sal>1000 then
into sal_record values(ename,hiredate,sal)
when sal>7000 then
into mgr_record values(ename,mgr,sal)
select ename,hiredate,mgr,sal from emp;
有条件INSERT FIRST:
insert first
[when condition then] [into_clause values_clause]
[else] [into_clause values_clause] subquery;
//与上不同的是若第一个when匹配上,后面的when碰到该数据源会跳过
insert first
when sal>1000 then
into sal_record values(ename,hiredate,sal)
when sal>7000 then
into mgr_record values(ename,mgr,sal)
select ename,hiredate,mgr,sal from emp;
//执行结果是对于只要满足第一个when的记录,第二when会跳过该记录