Oracle数据库:实现批量插入的sql语句

目录

问题现象:

问题分析:

注意:这里一定要注意分号(;)的使用:

否则容易出现报错,如:

解决方法:


问题现象:

今天想使用Oracle数据库进行批量插入的操作,发现和想象中的不太一样,报错如下:


问题分析:

很显然,是因为sql语句有误!那么是为什么呢?

报错的语句格式如下:

INSERT INTO 
    表名 (需要操作的列名) 
VALUES 
    (需要插入到对应列名中的数据值),
    (需要插入到对应列名中的数据值);

如:

INSERT INTO 
    tablename(column1, column2, column3...) 
VALUES 
    (value1,value2,value3...),
    (value1,value2,value3...);

举例:

INSERT INTO 
    student(id, name, sex)
VALUES
    ('0001','小明','男'),
    ('0002','小红','女'),
    ('0003','小军','男');

显然,这就是Mysql数据库中实现批量插入数据的sql语句;

而报错就是因为:Oracle数据库Mysql数据库批量插入的sql语句的格式是不同的!!!

通过查阅资料,发现:

Oracle数据库:实现批量插入的sql语句挺多的,这里我列举自己认为其中最简便的一种(虽然没有Mysql的简便):

begin-end法,格式如下:

begin
  insert into 表名(column1, column2, column3...) values(value1,value2,value3...);
  insert into 表名(column1, column2, column3...) values(value1,value2,value3...);
  insert into 表名(column1, column2, column3...) values(value1,value2,value3...);
  ...
end;

注意:这里一定要注意分号(;)的使用:

1.每个insert into 语句都要以;结尾

2.END 关键词也要以;结尾

否则容易出现报错,如:


解决方法:

BEGIN
INSERT INTO 
    student(id, name, sex)
VALUES
    ('0001','小明','男');

INSERT INTO 
    student(id, name, sex)
VALUES
    ('0002','小红','女');

INSERT INTO 
    student(id, name, sex)
VALUES
    ('0003','小军','男');
END;
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值