Oracle 批量插入数据怎么做

 我来答
育知同创教育
2016-01-30 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
oracle批量插入数据使用sqlldr。
首先将要导入的excel文件另存为csv格式(默认逗号间隔,另存为csv,不只是改后缀名)
然后用sqlldr导入。
sqlldr的参数很多,简单的几个就可以了:
建一个控制文件control.txt:
load data
infile 'f:\test.csv'
into table test1
(id char terminated by ',',
name char terminated by ',',
height char terminated by ',',
birth char terminated by whitespace)

----这里根据需要,修改数据文件的名字和路径。括号里面的字段名和字段数也根据实际情况修改。由于保存的是csv,字段间以逗号隔开,因此控制文件里定义最后一个字段以whitespace来分隔,其它的用','
然后使用sql*loader:
sqlldr userid=USERNAME/PASSWORD@XXXX control=f:\control.txt log=f:\test.log bad=f:\testbad.csv
userid后跟用户名密码,@后的是网络服务名,需要在客户端的tnsnames.ora文件里定义。control后的值是刚刚建的控制文件的路径,日志将生成在log参数指定的位置上,如果有记录没有导入成功,这些记录会放置在bad后指定的文件里。
longrenyingdc8ecb1
2016-01-24 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2330万
展开全部
如果是文本文件(不一定是纯文本,execl也可以,另存为文本就可以,只要注意一下分隔符号就可以了),那么sqlloader导入,只要参数设置对了,这个应该是比较快的。
如果是从其他表插入,而且数据量很大,那么就写脚本分批insert,commit;
当然用其他工具也可以,比如用plsql developer的导入功能,或者复制。
关键看是什么类型的数据。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoudha
生活家

2016-01-23 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:107万
展开全部
用SQLLoader进行上传数据,1万条数据耗时8秒。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式