oracle通过1条语句插入多个值的方法示例

时间:2022-02-07 21:19:47

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

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

?
1
insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4);

这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错:

ORA-00933: SQL 命令未正确结束

后来有了如下的解决办法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 
--一、建表
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语句多次连接数据库的开销
至于其他好处,大家要是有不同的见解欢迎留言讨论。
*/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。

原文链接:https://www.cnblogs.com/qinjiting/p/11279469.html