标题:求助,请高手提供下高效率的思路
只看楼主
leonardo38
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2009-1-1
结帖率:20%
已结贴  问题点数:10 回复次数:1 
求助,请高手提供下高效率的思路
现在有个需求,oracle数据存在表A,该表的数据量很庞大,超过数万甚至十多玩数据,这个表有个字段为B,现在有个导入功能,是将EXCEL文件导入到该表,但是,如果导入的B字段有值已经在表A中的B字段存在,则不允许导入,并且要能标记出是EXCEL哪一行的值。目前按照一般的思路是导入的时候,每导入一行数据就去表里查询一次验证,但这样效率太低,20多条数据都能导入10多分钟,而且还是在数据量才几十调的情况下,所以求助,望高手提供思路
搜索更多相关主题的帖子: EXCEL oracle 而且 
2013-06-28 19:06
yss0729
Rank: 3Rank: 3
来 自:江西 九江
等 级:论坛游侠
帖 子:43
专家分:197
注 册:2013-6-8
得分:10 
呵呵,你可以先一次性导入到数据库里
最后对字段B 找出重复的数据  把重复的数据放在一张临时表里
应该可以满足你的要求

再有一个办法就是
将A表的B字段设为主键
将循环导入里面 放入try catch 里
当catch 捕获到Oracle报出的 违反主键唯一约束的异常的时候
做 continue;
让循环执行下一条,
不知道你理解了没
2013-07-02 15:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-416313-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.245714 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved