Oracle中以insert values的形式同時插入多條記錄


轉自:Oracle中以insert values的形式同時插入多條記錄

由於要做測試數據插oracle數據庫,想到了mysql的多個values的形式,但是sql報錯。oracle並不支持這種一個insert into 多個values的方法:

INSERT INTO users(name, age) VALUES('ccc', 333), ('aaa', 222), ('bbb', 111);

 

但是有另一種寫法,做個簡單記錄,跟mysql中的一個insert多個values的形式差不多:

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.最后跟的select 1 from dual語句中的dual表可以被替換為任何一個只要不是tb_red的表

3.和mysql的寫法不一樣,多個values之間不用逗號分隔,但是需要加into tablename的形式的語句在每個values前面

4.只適合於Oralce 9i以上版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM