oracle貌似不支持insert into插入多行记录?

笔记摘录:

SQLSERVER中,是支持insert into命令插入多条记录的:

insert into pm_stu values (3,'王五')(4,'赵六');

ORACLE中,上面是错误的,oracle貌似不支持一个insert插入多行记录,只能改写成一个insert插入一条记录:

insert into pm_stu values (3,'王五');

insert into pm_stu values (4,'赵六');

或者另一种方法:

insert into pm_stu

select 3,'王五' from dual

union all

select 4,'赵六' from dual

这两种方法的区别?是效率不同

insert into 表名 (字段a,字段b)

select '值a1','值b1' from dual

union

select '值a2','值b2' from dual

那么这一次就插入了两条数据。当然,如果全字段插入 那个(字段a,字段b)还可以省略掉。
好处是:避免了写复杂而又没必要写的存储过程,避免了执行多个SQL语句多次连接数据库的开销。

最后的实践证明,如果循环60万次Insert,一个小时也执行不完(当然有可能是机器太烂),而拼成1000条Select再插入一次,插入60万条的时间是20分钟,而拼成5000条Select再Insert一次,插入60万条数据的时间是12分钟。

你可能感兴趣的:(oracle貌似不支持insert into插入多行记录?)