今天在實踐過程中遇到一個問題,
我想往數據庫插入多條數據時,使用了如下語句:
insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4);
這條語句在mysql中執行的話,語法一點毛病都沒有,但是,在oracle上執行一直報錯:
ORA-00933: SQL 命令未正確結束
后來有了如下的解決辦法:
/*
--一、建表
create or replace table pm_ci (
ci_id varchar2(20) not null,
stu_ids varchar2(100)
);
create table pm_stu(
stu_id varchar2(20) not null,
stu_name varchar2(100)
);
--插入數據
insert into pm_ci values('1','1,2,3,4');
insert into pm_ci values('2','1,4');
insert into pm_stu (stu_id,stu_name) values ('1','張三');
oracle 插入多個值的方法:
--親自實驗了 oracle 不支持使用 insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4);這條語句插入多條數據庫,但是mysql支持,
那么在oracle上如何一條語句插入多個值呢?
本人測試語句如下:
insert all into pm_stu
(stu_id, stu_name)
values ('3', '王五')
into pm_stu values ('4', '趙六') select 1 from dual;
這樣寫的好處,目前總結如下,避免了寫復雜而又沒必要寫的存儲過程,避免了執行多個SQL語句多次連接數據庫的開銷
至於其他好處,大家要是有不同的見解歡迎留言討論。
*/