Oracle 使用一条insert语句完成多表插入

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012414590/article/details/69372040

语法一

全表插入

insert all into table1 values() into table2 values() select * from table

执行过后,会将table中的所有数据分别插入table1和table2

加条件插入

insert all when condition1 then into table1 values() when condition2 then into table2 values() select * from table

执行过后,会将table中满足条件condition1的数据插入到table1,满足条件condition2的数据插入到table2

也可以这么写:

insert all when condition1 then into table1 values() else into table2 values() select * from table

语法二

条件插入

insert first when condition1 then into table1 values() when condition2 then into table2 values() select * from table

区别:该方法中源表table的每条记录只会被插入一次,即使同时满足多个条件也不会重复插入

猜你喜欢

转载自blog.csdn.net/u012414590/article/details/69372040