oracle插入数据,防止插入重复记录

olkldkslaa 2012-04-26 01:58:15
从access表中提取数据,校验后插入oracle表,并且防止插入重复的记录。
我现在的实现方式是每插入一条之前就查询oracle一次,如果不存在此记录就插入,已经存在就不执行插入,但是效率很低,请问要怎么实现才能效率高点呢?
...全文
1086 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
oqqZoro 2013-11-19
  • 打赏
  • 举报
回复 1
这CSDN的水分受不了了 明显的说同步 设主键 设毛线啊 说了不重复 请答题的时候拿稳了答 怎么全是这样的 能设主键还用来这里问吗
zlyshmily 2012-10-09
  • 打赏
  • 举报
回复
请问下楼主,这个问题我现在也遇到了,有解决方案吗
olkldkslaa 2012-04-26
  • 打赏
  • 举报
回复
已经解决了,我现在把oracle中的表先读到一个set集合里,然后插入的时候在set里判断就可以了,
wang1986614 2012-04-26
  • 打赏
  • 举报
回复
我这儿也是每次插入都会判断该记录是否存在,通过几个非空字段判断的;如果不存在则插入,存在的话就不操作,这些都是放在过程中的
wang1986614 2012-04-26
  • 打赏
  • 举报
回复
我这里有类似的,我是把执行的语句封装成过程,放到缓存中,每次读取缓存,只是参数值在变,这样你不用每次都去生成查询、执行,有一次,后面的都是读取缓存了
z25765339 2012-04-26
  • 打赏
  • 举报
回复
不知道你说的重复是什么意思
两条数据完全一致?
两条数据的主键一直?
其他??
nxvan 2012-04-26
  • 打赏
  • 举报
回复
能不能把oracle的表读入内存里进行判定
olkldkslaa 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你是导数据还是干吗?
都是一条条操作的吗?
[/Quote]是倒数据
olkldkslaa 2012-04-26
  • 打赏
  • 举报
回复
因为是从access中的一个表提取数据,然后插入到oracle中的三个表中,主键有格式要求,所以我自己写的生成主键的代码
olkldkslaa 2012-04-26
  • 打赏
  • 举报
回复
在向oracle插入数据的时候是我自己生成的主键,所以主键肯定是不会重复,也就是说把倒数据的操作执行两次也都能插进去
sffx123 2012-04-26
  • 打赏
  • 举报
回复
还有种方法,如果数据量不大的话,可以把库里的数据在程序启动的时候给缓存起来,查询的时候直接查就行了减少跟数据库的交互。
  • 打赏
  • 举报
回复
如果不是主键,也可以设置字段的唯一性的
安特矮油 2012-04-26
  • 打赏
  • 举报
回复
建议在java里面校验
良才2015 2012-04-26
  • 打赏
  • 举报
回复
设置主键,这把校验的工作就交给oracle自身了。

如果你想每个字段都不一样,那没办法,你就一个个去比较了
gukuitian 2012-04-26
  • 打赏
  • 举报
回复
你是导数据还是干吗?
都是一条条操作的吗?

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧