Oracle批量插入数据insert all into用法

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。

1)直接解析excel,循环行,拼了sqlexecuteUpdate
执行一波…
咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。
2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。
没有任何明显的改善。
3)那改成一条insert语句效果怎么样呢?
这里写图片描述在这里插入图片描述
这回效果看起来很明显了,问题看起来要解决了,确实,按这样改到程序里,执行上传excel,解析插入一万行数据到数据库,总共也就差不多一秒钟,能接受了。

4)但是我还想兼容Oracle,刚才是拿MySql做的实验,Oracle竟然不能这么写:

insert into testimport(username,password,address,telphone,email)
values
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@163.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@164.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@165.com')

那我们在Oracle中,怎么通过一个insert语句批量插入数据呢?

INSERT ALL 
INTO A(field_1,field_2) VALUES (value_1,value_2) 
INTO A(field_1,field_2) VALUES (value_3,value_4) 
INTO A(field_1,field_2) VALUES (value_5,value_6)
SELECT 1 FROM DUAL;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值