我的过程非常简单:我从文件列表中获取记录,并在对数据执行某些检查后将它们插入到特定的表中.
– 每个文件平均包含180.000条记录,我可以拥有多个文件.
– 某些记录可以存在于多个文件中.
– 如果每列都匹配,则记录与另一个记录相同,换句话说,我不能简单地对特定字段执行检查.我已在我的DB中定义了一个约束,以确保满足此条件.
简单地说,我想忽略Oracle在违反约束时会给我的约束异常.
记录不存在? – >插入
记录已经存在? – >前进
这可能与mybatis有关吗?或者我可以在数据库级别完成某些事情吗?
我可以控制Application Server和DB,所以请告诉我完成此任务的最有效方法是什么(即使我想避免过多依赖DB …)
当然,我想在每次插入之前避免执行select * …鉴于我正在处理的记录数量会破坏我的应用程序的性能
解决方法 使用 IGNORE_ROW_ON_DUPKEY_INDEX提示:insert /*+ IGnorE_ROW_ON_DUPKEY_INDEX(table_name index_name) */into table_nameselect * ...总结
以上是内存溢出为你收集整理的oracle – 批量插入:有没有办法在违反约束时跳过下一条记录?全部内容,希望文章能够帮你解决oracle – 批量插入:有没有办法在违反约束时跳过下一条记录?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)