Oracle 使用一條insert語句完成多表插入
語法一
全表插入
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的每條記錄只會被插入一次,即使同時滿足多個條件也不會重複插入