一、MySQL
批量插入的两种方式:
其一,循环插入,与MySQL无区别。
insert into table(id,name) values(1,'A’);
insert into table(id,name) values(2,’B’);
其二,批量插入
insert into table(id,name) values(1,’A’),(2,'B')
二、Oracle
批量插入的两种方式:
其一,循环插入,与MySQL无区别。
insert into table(id,name) values(1,'A’);
insert into table(id,name) values(2,’B’);
其二,批量插入(无values 关键字)
insert into table(id,name)
select * from (
select 1,'A' from dual
union all
select 2,'B' from dual
)
注意:
批量插入注意定义别名,否则可能会提示不能明确定义的列
insert into table(id,name)
<foreach collection="list" item="i" separator="union all" open="select * from (" close=")">
select #{i.id} id,#{i.name} name from dual
</foreach>