insert into 表名(欄位1,欄位2) select '一','二' from dual union all select '三','四' from dual union all select '五','六' from dual union all select '七','八' from dual union all select '九','十' from dual 從乙個csv檔案中讀取所有的資料,並且插入到乙個oracle資料庫中,並且幾分鐘內完成,大約有60萬條。 網上有人說了,你可以迴圈insert然後插入幾千條以後commit一次,我靠,你自己試試看!! 如果沒試過就不要誤導別人好吧。 還有人說了,oracle根本不支援一次多條插入,我靠,你咋不說自己學藝不精呢? 現在給大家介紹乙個小技巧,話說在oracle裡有乙個很奇特的「表」,名叫dual。我們就要利用這個dual來做文章, 首先,你知道 select '1' from dual 是啥結果嗎? 對了,結果就是返回1。 其次,你知道 select '1' from dual union select '2' from dual 是啥結果嗎? 對鳥,結果是 1 2 那麼,最關鍵的地方來了,
insert into 表名 (欄位1)
select '1' from dual
union
select '2' from dual那麼這一次就插入了兩條資料。當然,如果全欄位插入 那個(欄位1)還可以省略掉。 最後的實踐證明,如果迴圈60萬次insert,乙個小時也執行不完(當然有可能是機器太爛),而拼成1000條select再插入一次,插入60萬條的時間是20分鐘,而拼成5000條select再insert一次,插入60萬條資料的時間是12分鐘。
Oracle中插入多條資料
1 oracle中 insert into product id,names,price,code select 100,a 1,1 from dual union select 101,b 2,2 from dual 這裡最好用一次insert,不然效率不高,用多個select.2 mysql中 ...
Oracle中同時插入多條記錄
由於要做測試資料插oracle資料庫,想到了mysql的多個values的形式,但是sql報錯。oracle並不支援這種乙個insert into 多個values的方法 insert into users name,age values ccc 333 aaa 222 bbb 111 但是有另一種...
Oracle 批量插入多條資料
mysql中可以這樣 insert into test table id,name,age values 1 abc 23 2 kkk 33 以上語句不能在oracle資料庫執行。oracle中可以這樣 insert allinto test table id,name,age values 1 a...