对表设计主键,主键用序列自动生成。用主键 唯一区分每一行,防止数据重复
用merge 函数处理,判断数据是否存在,存在就更新,不存在就插入,这样也可以防止相同数据插入多遍。 merge 的具体用法百度下,有很多介绍这个的
因为无论是第三方数据库还是自己的数据库,都不知道你要添加或者修改后的记录是什么内容,是否已经存在。因此我在解决这个问题的时候是根据需要,用要添加的记录的关键字或者整条记录作条件对要插入的表进行查询,如果返回记录条数大于0,说明已经存在了,提示该记录存在,否则就添加进去。步骤如下:
1检查数据合法性
2在要插入的表中检索该记录
3返回记录条数大于0,提示改记录存在
4等于0,进行相应处理。
不知道你要解决的是不是这样的问题,希望对你有所帮助。
我给你提供个思路,不要光从sql角度考虑,从java语言提供的异常机智考虑会更简单因为我在对数据库进行轮询的时候也经常遇到这样的问题
最好的解决之道就是如果不存在就插入,如果重复,就跳过
//将插入语句放在循环体中
for(int i=0;i<n;i++){
try{
//省略具体插入代码
//插入的代码块,如果插入异常,将会发生异常 ,并被catch捕捉,但程序不做任何处理继续循环下面一条!!所有不存在的数据将会被正常插入所有插入异常将会被忽略!
}catch(Exception e){
}
}
---这个解决之道就是正常则插入,异常则跳过,满足了你的要求的呵呵,就是你想要的答案吧
以上就是关于oracle数据库中怎么能避免相同的数据插入数据库多遍sql语句怎么处理呢全部的内容,包括:oracle数据库中怎么能避免相同的数据插入数据库多遍sql语句怎么处理呢、在VB中用ADODC时,录入数据如何避免重复、向数据库里插入大量数据,怎么实现不插入重复的记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)