社区
Java SE
帖子详情
oracle插入数据,防止插入重复记录
olkldkslaa
2012-04-26 01:58:15
从access表中提取数据,校验后插入oracle表,并且防止插入重复的记录。
我现在的实现方式是每插入一条之前就查询oracle一次,如果不存在此记录就插入,已经存在就不执行插入,但是效率很低,请问要怎么实现才能效率高点呢?
...全文
1203
15
打赏
收藏
oracle插入数据,防止插入重复记录
从access表中提取数据,校验后插入oracle表,并且防止插入重复的记录。 我现在的实现方式是每插入一条之前就查询oracle一次,如果不存在此记录就插入,已经存在就不执行插入,但是效率很低,请问要怎么实现才能效率高点呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
如果不是主键,也可以设置字段的唯一性的
安特矮油
2012-04-26
打赏
举报
回复
建议在java里面校验
良才2015
2012-04-26
打赏
举报
回复
设置主键,这把校验的工作就交给oracle自身了。
如果你想每个字段都不一样,那没办法,你就一个个去比较了
gukuitian
2012-04-26
打赏
举报
回复
你是导数据还是干吗?
都是一条条操作的吗?
oracle
中序列,
Oracle
中序列(SEQUENCE)的实例
曾经在触发器中使用序列(SEQUENCE):createorreplacetriggerTRI_SUPPLIERbeforeinsertonSUPPLIERforeachrowbeginselectseq_supid.NEXTVALinto:new.supcodefromdual;selectseq_supid.CURRVALinto:new.supID...
阻止同一表中,两个并发会话
插入
相同记录的解决方案(原创)
阻止同一表中,两个并发会话
插入
相同记录的解决方案 背景 两个并发会话,要并发访问一张表,并向表中
插入
记录,主键 ID 为自增长的序号,所以两个会话肯定会得到不同的主键 Id ,靠这个 ID 主键约束不能解决阻止
插入
重复记录
的问题。 举例 系统存在如下一张表 create table test ( ...
ORACLE
删除重复
数据
ORACLE
删除重复
数据
ORACLE
删除重复
数据
-- 删除重复
数据
delete from t_day_imp where rowid not in( select max(rowid) from t_d...
mysql ignore
oracle
,
Oracle
Equivalent to MySQL INSERT IGNORE?
I need to update a query so that it checks that a duplicate entry does not exist before insertion. In MySQL I can just use INSERT IGNORE so that if a duplicate record is found it just skips the inser...
Oracle
中序列(SEQUENCE)的使用一例
曾经在触发器中使用序列(SEQUENCE): create or replace trigger TRI_SUPPLIER before insert on SUPPLIER for each row begin select seq_supid.NEXTVAL into:new.supcode from dual; select seq_supid.CURRV...
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章