Oracle 批量插入数据
两张数据结构相同的表,要求将一张表的数据,增量或是全量插入到另一张表时候,我们可以使用参照此篇文档。
1、复制一张表的数据插入到另外一张与之结构一致的表
Student 表
id | name | sex |
---|---|---|
001 | ls | 男 |
002 | ww | 男 |
003 | hl | 女 |
我们有 Student_BF 表,与Student 表结构一致,需要将Student 表中的所有数据插入到 Student_BF 表中。
insert into Student_BF(id,name,sex) select id,name,sex from Student
此方法可以做 where 条件,只插入 条件中的值
2、对一张表进行批量插入
当出现多个 insert into 语句时,大批量执行 insert into 语句,会消耗数据库大量资源。我们可以使用 一条语句,批量插入多行数据
以Student 表为例,我们同时插入三行数据
insert all into Student(id,name,sex)
into Student(id,name,sex) values ('004','zs','男')
into Student(id,name,sex) values ('005','lk','男')
select '006','ws','女' from dual;
select ‘006’,‘ws’,‘女’ from dual;
最后的这个 select 不能省略,在 Oracle 中,如果省略就会报错
其中,select 中的值,也会插入到数据库中,所以是 Oracle 返回的日志是,插入 3 条执行成功。