oracle一条语句插入多个值的方法

今天在实践过程中遇到一个问题,

我想往数据库插入多条数据时,使用了如下语句:

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语句多次连接数据库的开销
至于其他好处,大家要是有不同的见解欢迎留言讨论。
*/
posted @ 2019-07-31 22:11  你居然是华神  阅读(5736)  评论(0编辑  收藏  举报