今天用到oracle的批量插入, 记录一下用法。
一、在mysql中的写法是这样的
insert into my_table(field_1,field_2)
values
(value_1,value_2),
(value_1,value_2),
(value_1,value_2);
二、在oracle中是这样写的
INSERT ALL
INTO my_table(field_1,field_2) VALUES (value_1,value_2)
INTO my_table(field_1,field_2) VALUES (value_3,value_4)
INTO my_table2(field_3,field_4) VALUES (value_5,value_6)
SELECT 1 FROM DUAL;
值得注意的是: 仔细观察语句能发现 insert all into 不止能批量插入一个表中多条记录,也可以向不同的表中插入多条记录。
我们用mybatis的时候经常会看到在xml文件中用语法拼接的以上批量执行的语句