目录
问题现象:
问题分析:
注意:这里一定要注意分号(;)的使用:
否则容易出现报错,如:
解决方法:
问题现象:
今天想使用Oracle数据库进行批量插入的操作,发现和想象中的不太一样,报错如下:
问题分析:
很显然,是因为sql语句有误!那么是为什么呢?
报错的语句格式如下:
INSERT INTO表名 (需要操作的列名)VALUES(需要插入到对应列名中的数据值),(需要插入到对应列名中的数据值);
如:
INSERT INTOtablename(column1, column2, column3...) VALUES(value1,value2,value3...),(value1,value2,value3...);
举例:
INSERT INTOstudent(id, name, sex)VALUES('0001','小明','男'),('0002','小红','女'),('0003','小军','男');
显然,这就是Mysql数据库中实现批量插入数据的sql语句;
而报错就是因为:Oracle数据库和Mysql数据库的批量插入的sql语句的格式是不同的!!!
通过查阅资料,发现:
Oracle数据库:实现批量插入的sql语句挺多的,这里我列举自己认为其中最简便的一种(虽然没有Mysql的简便):
begin-end法,格式如下:
begininsert 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 关键词也要以;结尾
否则容易出现报错,如:
解决方法:
BEGININSERT INTOstudent(id, name, sex)VALUES('0001','小明','男');INSERT INTOstudent(id, name, sex)VALUES('0002','小红','女');INSERT INTOstudent(id, name, sex)VALUES('0003','小军','男');END;
如果觉得《Oracle数据库:实现批量插入的sql语句》对你有帮助,请点赞、收藏,并留下你的观点哦!