Oracle 批量插入数据怎么做

pengcheng_1024 发布于 2014/07/18 16:06
阅读 23K+
收藏 0

记得mysql 批量插入数据

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9),……;

我查了网上说的Oracle批量插入的好像不合我的意思。

我的意思就是像mysql的这种批量插入数据,有知道的给点意见,谢谢。


加载中
0
calvary
calvary
google  oracle list
calvary
calvary
回复 @pengcheng_1024 : 作为一个程序员。你就没有办法了。。? 翻墙啊.代理啊.
pengcheng_1024
pengcheng_1024
google早不能用啊!
0
純白陰影
pengcheng_1024
pengcheng_1024
回复 @cwhow : 我也不清楚啊
pengcheng_1024
pengcheng_1024
我现在是java代码处理,根据实际情况处理list集合中的数据,然后处理过的数据是对象存放到list集合中,想对这个list集合中的对象, 进行批量提交。 如果在for循环中进行insert,10w条数据这样执行10W次提交,那我就疯了!
cwhow
cwhow
这可靠谱
0
joaboo
joaboo

oracle不支持LZ的那种语法,但可以用insert...select...的方式来实现.

INSERT INTO tbl_name (a,b,c)

select 1 as a, 2 as b, 3 as c from dual union all
select 4, 5, 6 from dual union all
select 7, 8, 9 from dual union all
....;
cwhow
cwhow
回复 @joaboo : 用 addBatch()
joaboo
joaboo
回复 @pengcheng_1024 : 如果不会写sql,那就用jdbc的executeBatch的方式来做也可以.
pengcheng_1024
pengcheng_1024
我现在是java代码处理,根据实际情况处理list集合中的数据,然后处理过的数据是对象存放到list集合中,想对这个list集合中的对象, 进行批量提交。 如果在for循环中进行insert,10w条数据这样执行10W次提交,那我就疯了!
0
weinan2087
weinan2087

能具体描述下你的场景吗?
你批量插入数据,数据应该是结构或数据,你是从A表中获取数据批量插入B表中的数据?还是导入的INSERT语句进行批量插入啊?

如果你是一次批量插入万级以上条数据可以考虑控制下循环日志比较好一些。

pengcheng_1024
pengcheng_1024
我现在是java代码处理,根据实际情况处理list集合中的数据,然后处理过的数据是对象存放到list集合中,想对这个list集合中的对象, 进行批量提交。 如果在for循环中进行insert,10w条数据这样执行10W次提交,那我就疯了!
0
純白陰影
純白陰影
预编译 分批提交(commit),例如1000条提交一次。你用mysql那种语法也不可能一次提交完
純白陰影
純白陰影
不要看表面。框架只是把一些东西屏蔽了,最终还是调用jdbc驱动里的方法执行语句
pengcheng_1024
pengcheng_1024
spring有批量提交的功能呢
0
mlovewt
mlovewt
分批提交,1000或者在多点,别每次都commit
0
一心二影
一心二影
数据量 一万以内的话 ,直接在EXCEL 整理好plsql: select * from table_name for update ;复制粘贴进去很快的。
0
namehwh
namehwh

解决了吗?

0
liqf小峰
liqf小峰

insert into role_user_p(user_id,role_id)

              (select  1, 11 from dual)  union all

   (select  2, 22 from dual)

s
sunhan1225
insert into A select from dual union all....兄弟这是有长度限制的,所以你需要修改策略,使用insert all
返回顶部
顶部