Oracle中以insert values的形式同时插入多条记录

Posted NemoWang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中以insert values的形式同时插入多条记录相关的知识,希望对你有一定的参考价值。

转自:Oracle中以insert values的形式同时插入多条记录

由于要做测试数据插oracle数据库,想到了mysql的多个values的形式,但是sql报错。oracle并不支持这种一个insert into 多个values的方法:

INSERT INTO users(name, age) VALUES(ccc, 333), (aaa, 222), (bbb, 111);

 

但是有另一种写法,做个简单记录,跟mysql中的一个insert多个values的形式差不多:

1 INSERT ALL INTO tb_red VALUES(1000, 8001, 2016-10-10 10:59:59, 1, 8001, 测试用户1000, 红名单0, , 膜法学院, 被测)
2 INTO tb_red  VALUES (1001, 8001, 2016-10-10 11:00:00, 2, 8001, 测试用户1001, 红名单1, , 膜法学院, 被测)
3 INTO tb_red  VALUES (1002, 8001, 2016-10-10 11:00:01, 0, 8001, 测试用户1002, 红名单2, , 膜法学院, 被测)
4 INTO tb_red  VALUES (1003, 8001, 2016-10-11 10:59:59, 1, 8001, 测试用户1003, 红名单3, , 膜法学院, 被测)
5 INTO tb_red  VALUES (1004, 8001, 2016-10-11 11:00:00, 2, 8001, 测试用户1004, 红名单4, , 膜法学院, 被测)
6 INTO tb_red  VALUES (1005, 8001, 2016-10-11 11:00:01, 0, 8001, 测试用户1005, 红名单5, , 膜法学院, 被测)
7 select 1 from dual;

说明:

1.第一句用的是insert all into 不是 insert into

2.最后跟的select 1 from dual语句中的dual表可以被替换为任何一个只要不是tb_red的表

3.和mysql的写法不一样,多个values之间不用逗号分隔,但是需要加into tablename的形式的语句在每个values前面

4.只适合于Oralce 9i以上版本

以上是关于Oracle中以insert values的形式同时插入多条记录的主要内容,如果未能解决你的问题,请参考以下文章

使用 Oracle Insert Into...Values 插入多个值

比较WP_Query中以序列化数组形式存储的meta_value

Oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据)????????

在Oracle中,通过一个INSERT ALL语句批量插入数据

oracle insert 多条数据