Oracle 怎樣一次插入多條記錄
阿新 • • 發佈:2019-01-09
Oracle 一次性插入多條記錄跟 MYSQL 有很大不同。MYSQL 是這樣的,但在 Oracle 中行不同。
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees'),('Gates', 'Champs-Elysees')
Oracle 可以使用虛擬表 dual 一次插入多條記錄。dual 在Oracle裡有一個很奇特的“表”。可以利用這個Dual來做文章。
首先,你知道 select '1' from dual 是啥結果嗎? 對了,結果就是返回1。
其次,你知道
select '1' from dual union all select '2' from dual
是啥結果嗎? 對鳥,結果是
1
2
那麼,最關鍵的地方來了,
insert into 表名 (欄位1)
select '1' from dual
union all
select '2' from dual
那麼這一次就插入了兩條資料。當然,如果全欄位插入 那個(欄位1)還可以省略掉。
下面一個具體例子:
insert into doc_data (code,id,value,state) select '13','川A','成都市公安局交通警察支隊車輛管理所',0 from dual union all select '13','川B','綿陽市公安局交通警察支隊車輛管理所',0 from dual union all select '13','川C','自貢市公安局交通警察支隊車輛管理所',0 from dual union all select '13','川D','攀枝花市公安局交通警察支隊車輛管理所',0 from dual