oracle一次插入多行的SQL语句


  从oracle9i版本以后,可以使用一种方法:"INSERT ALL INTO  a表 VALUES(各个值)  INTO a表 VALUES (其它值) INTO a表 VALUES(其它值) ....再跟一个SELECT 语句"。

  后边跟的SELECT 语句我们可以从虚拟表里查如 SELECT 1 FROM DUAL。注意后边跟的SELECT语句可以随意,不过不是把它SELECT出来的内容插入前边的表里,而是起到前边的多个数据每次插入多少行的作用,这个多少行是和后边跟的SELECT语句查出来几条而定的,如后边的跟的SELECT 语句查出了15条记录,那么前边的"INSERT ALL INTO  a表 VALUES(各个值1)  INTO a表 VALUES (其它值2) INTO a表 VALUES(其它值3)"就会先插入值1对应的各个字段插入15条记录,然后插入值2各个对应的字段15条记录,然后插入值3对应的各个字段15条记录。

 

  我们要的是批量插入多个VALUES这样的一条记录,所以后边的SELECT 语句只要能查出一条记录就行,建议大家后边用SELECT 1 FROM DUAL

insert all into test1
values
  ('载机巡洋舰', '毛熊') into test1
values
  ('055型大驱', '兔子') into test1
values
  ('加尔各答级驱逐舰', '阿三') into test1
values
  ('阿利伯克级驱逐舰', '白头鹰')
  select 1 from dual;

 

参考:http://blog.csdn.net/chenleixing/article/details/45165761/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM