社区
Java SE
帖子详情
oracle插入数据,防止插入重复记录
olkldkslaa
2012-04-26 01:58:15
从access表中提取数据,校验后插入oracle表,并且防止插入重复的记录。
我现在的实现方式是每插入一条之前就查询oracle一次,如果不存在此记录就插入,已经存在就不执行插入,但是效率很低,请问要怎么实现才能效率高点呢?
...全文
1086
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
打赏
举报
回复
你是导数据还是干吗?
都是一条条操作的吗?
MySQL DML 语言(
插入
、更新与删除
数据
)
Re: MySQL DML 语言(
插入
、更新与删除
数据
)=======================# DML
数据
操作语言 包括动词:INSERT、UPDATE、DELETE 等等 它们分别用于添加、修改和删除表中的行(
数据
) #
插入
、更新与删除
数据
MySQL中提供了功能丰富的
数据
库管理语句,包括有效地向
数据
库中
插入
数据
的 INSERT 语句,更新
数据
的UPDATE语句以及当
数据
不在使用时删除
数据
的DELETE 语句等。 # 高阶 DML 操作 将查询结果
插入
到新表(相当于表复制功能) 根据另一张表的条件,更改本表
记录
根据另一张表的条件,删除本表
记录
-------------------------------------------------------------
oracle
防止
插入
重复
数据
有时候用
oracle
的
数据
库,
插入
数据
的时候需要判断一下该条
数据
是否已经存在。我们的第一思路如下,首先执行下面这个sql: [sql] view plain copyselect count(*) isExists from t_test_lll; 然后判断isExists等于0与否,如果等于0,则执行insert。上面这样写,也可以,但是多写很多代码,不利于后期维护。其实
oracle
可以内置...
oracle
插入
时判断
重复
,
Oracle
里通过merge语句判断
重复
插入
导读:
Oracle
数据
库功能比较齐全,在
数据
库业界也算是名气不小的的
数据
库系统啦。由于项目中需要用到批量
插入
,为了
防止
用户
插入
重复
的
数据
,需要先判断
插入
的
数据
是不是已经存在,如果存在则忽略这次
插入
,否则
插入
这条
数据
,刚开始的时候是先用一条SQL语句判断,如果返回结果是真(
记录
已经存在),则忽略,否则
插入
这条
数据
,这样的话
插入
一条
数据
就要发起两个到
数据
库的连接,后来发现这样做效率实在太低了,搜索了一...
oracle
批量
插入
数据
,并避免
数据
重复
插入
,
插入
数据
去重【mybatis】
若指定的字段有一致的,则不
插入
数据
, 需在
插入
数据
的后面增加以下判断。union去重并排序,union all直接返回合并的结果,不去重也不排序;
oracle
插入
数据
不
重复
,
oracle
避免
重复
插入
数据
using keyword :merge INTO ----------------------- merge into t1 using (select 1 a,3 b from dual) t2 on (t1.a = t2.a) when matched then update set t1.b = t1.bt2.b when not matched then insert (t1.a,t1....
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章