版本号:

业务场景(如下):

后台自动执行的SQL插入数据,出现了重复数据,且无法稳定重现,偶然会遇见一次。场景为一组数据,如10条,依次插入数据库中。采取了循环生成sql拼接,先删后插的方式,最后统一执行提交。最近一次的情况是,有4条数据,且记录循环只执行了4次,但其中一条数据重复插入了多遍。此前曾有过按钮点击因网络问题点击了多次导致的数据重复,已通过其他方式避免,但此处完全是满足条件自动执行的,不存在重复操作的问题。且并非整体重复,仅为其中一部分出现重复。

预期效果(如下):

实际效果(如下)(包括错误,异常):

因不能稳定重现难以跟踪到sql。开发时没有遇到过,客户遇到过一两次。没能有太详细的情况,数据库中的确是存在多条完全重复的数据。

操作步骤(如下):

业务中此块数据插入通常只会执行一次,并不存在历史数据影响的问题。

sql大致为:begin:delete...;insert...;delete...;insert...;...end;最后执行提交。

满足条件时自动执行此sql,分析认为生成的sql并没有问题,却仅有部分数据出现了重复。

目前通过唯一索引约束,catch住重复的异常并重新执行以保证数据的唯一性。想请教一下为何会出现此类重复插入的情况。

oracle插入数据不重复,oracle插入数据重复相关推荐

  1. oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据

     oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...

  2. 【Jmeter】Oracle数据迁移,批量插入测试数据~

    前言~ 1.准备事项 1.1 梳理脚本 2.动起手来 2.1 了解 JDBC Connection Configuration 2.2 配置 JDBC请求 3.生成测试链路 3.1 获取表主键信息 3 ...

  3. oracle插入java时间,java向oracle中插入字符或时间型 时间数据

    /** * * @param date * @param bool true:插入时间类型,false:插入字符类型 * 向oracle中插入时间类型数据 * @return */ public st ...

  4. oracle磁盘使用率很高,oracle安装磁盘使用率100%导致数据插入等操作报错

    环境: ORACLE安装目录:   C盘(50G  使用率100%) 表空间DBF文件目录:E盘(100G 使用率20%) 问题: C盘100%后,清理了几次磁盘,但是导入历史数据(量较大)仍然插入数 ...

  5. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

  6. oracle更新数据没反应,ORACLE更新数据时如果有就更新没有就插入

    SQL写法: begin update table_name set salary = 10000 where emp_id = 5; if sql%notfound then insert into ...

  7. oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...

    本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...

  8. oracle 如何添加数据文件,在Oracle数据库里插入excel文件数据的步骤

    以下的文章我们主要介绍的是如何用SQL*Loader把Excel数据导出到Oracle中,最终的实现目的是往Oracle数据库里,插入excel文件中的相关数据,以下就是实现目的是往Oracle数据库 ...

  9. Oracle实现数据不存在则插入,数据存在则更新(insert or update)

    思路是写一个函数,先按条件查询数据,假设查询到数据则更新.假设没有查询到数据则插入: create or replace function fn_merge_index(statdate in dat ...

  10. 大数据写入到Oracle数据库(批量插入数据)

    开发中经常遇到批量插入数据的需求,为了提高开发效率大多会使用ORM架构,个别之处 才会手写SQL,我们使用C#.NET Core5.0开发,所以优先选择了微软的EF. 但是EF原生没有批量操作功能,需 ...

最新文章

  1. 添加linux系统调用的两种方式
  2. 微信小程序——添加按钮格式
  3. hive与hbase整合方式和优劣
  4. ssl1613-最短路径问题【图论,最短路径(还不明显?)】
  5. lambda python_Python | Lambda和filter()与示例
  6. frps 多个_同时穿透多个内网web服务,提示冲突
  7. oracle12c创建pdb用户6,ORACLE12C PDB创建默认表空间和用户语句
  8. memory java heap_java.lang.OutOfMemoryError: Java heap space解决方法
  9. mysql中dint_mysql常用操作——数据库和表的操作1(共2页)
  10. VCSA5.5升级6.5u1提示VUM出错和证书错误的解决办法
  11. 计算机更换桌面背景的步骤,怎么更换电脑桌面背景图片
  12. html embed用法
  13. 厉害了隔壁老王,带你入坑腾讯联机对战引擎!
  14. 计算机录屏幕和声音的软件是什么,怎么样录制电脑的屏幕和声音?可以进行电脑录像的软件|录制电脑屏幕的方法...
  15. 基于Java的飞机大战游戏的设计与实现论文
  16. Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了
  17. 39张IoT传感器工作原理GIF动图汇总
  18. 转载——如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习?
  19. LNMP部署应用——架设Discuz论坛——实验过程超详细!快来跟做!
  20. 一文读懂IaaS、PaaS、SaaS的含义及区别

热门文章

  1. missing go.sum entry for module providing package
  2. ip-guard如何配置加密文件夹和解密文件夹?
  3. 5. Python的数据类型③——列表
  4. java 跳格子_【题解】跳房子-C++
  5. project 2013 删除资源
  6. IDEA提示jar包不存在,但是jar包已经导入
  7. 手把手教学——记录在Winxp虚拟机上安装Vxworks操作系统及其编译器Tornado的详细过程(1——WinXP操作系统)
  8. 多版本Gradle离线包下载
  9. CSS不同背景显示不用颜色的文字
  10. 搜狗回应“统计加班时长裁员”;多家国产浏览器限制访问996.ICU;波音推迟737 Max软件修正丨Q新闻...