今天在实践过程中遇到一个问题,
我想往数据库插入多条数据时,使用了如下语句:
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