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