理解:insert first 当数据满足第一when 条件的时候,不会作用在下面的when条件了。
简而言之:当一条数据满足条件后,即使满足后面的条件也不会插入数据库。
正常情况:如果数据满足所有的when条件,每个表都会插入该条数据,insert first
数据只会插入一个表。
SCOTT@ db>insert first
2 when sal>3000 then
3 into e1 values(ename,sal,hiredate)
4 when sal>2000 then
5 into e2 values(ename,deptno,mgr)
6 select ename,sal,hiredate,deptno,mgr from emp;
6 rows created.
Elapsed: 00:00:00.02
SCOTT@ db>select * from e1;
ENAME SAL HIREDATE
---------- ---------- ---------
KING 5000 17-NOV-81
Elapsed: 00:00:00.02
SCOTT@ db>select * from e2;
ENAME DEPTNO MGR
---------- ---------- ----------
JONES 20 7839
BLAKE 30 7839
CLARK 10 7839
SCOTT 20 7566
FORD 20 7566