1.使用多表插入数据
从Oracle9i开始,使用Insert语句可以将某张表的数据同时插入到多张表中。
语法如下:
insert all insert_into_clause [value_clause] subquery;
insert conditional_insert_clause subquery;
insert_into_clause 用于指定insert子句;
value_clause用于指定值子句;
subquery用于指定提供数据的子查询;
conditional_insert_clause 用于指定insert 条件子句
示例一:使用ALL操作符执行多表插入
当使用ALL操作符执行多表插入时,在每个条件子句上都要执行into 子句后的子查询。
insert all
when deptno=10 then into dept10
else into dept20
select * from dept;
注:执行了以上INSERT语句之后,会将部门10的雇员信息插入到Dept10表。
示例二:使用FIRST操作符执行多表插入
使用FIRST操作符执行多表插入时,如果数据已经满足了先前条件,并且已经被插入到某表,那么该行数据在后续插入中将不会被再使用。