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

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

[sql]  view plain  copy
  1. INSERT INTO users(name, age) VALUES('ccc', 333), ('aaa', 222), ('bbb', 111);  
但是有另一种写法,做个简单记录,跟mysql中的一个insert多个values的形式差不多。
[sql]  view plain  copy
  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.最后跟的selecr 1 from dual语句中的dual表可以被替换为任何一个只要不是tb_red的表

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

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

猜你喜欢

转载自blog.csdn.net/qq_30725371/article/details/80207823