好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

?

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

查看更多关于oracle通过1条语句插入多个值的方法示例的详细内容...

  阅读:27次