oracle pl/sql insert 语句同时插入了重复数据问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle pl/sql insert 语句同时插入了重复数据问题相关的知识,希望对你有一定的参考价值。

sht_confirm sht_confirm_wms%ROWTYPE;
loop
clear_sht_confirm (sht_confirm);//清空数据
......
sht_confirm.created_by := :parameter.user_id;
sht_confirm.creation_date := SYSDATE;
insert_sht_confirm (lr_sht_confirm,ls_msg);// insert 数据 到A表,由於某种原因,A表不能加唯一
......
程式大致如上,经多人检查没有找出明显,而且平时作业也大致正常,但是就出现A表有时候会出现两条重复数据,这两条数据时一摸一样的,我估计是系统在INSERT时多了一条,为什麽会这样,求高手解答!

也许因为你循环的时候,提交了两次,或者每次多循环一次。可以通过断点一步步跟踪一下。

oracle pl/sql 里面也有断点可以跟踪的。
参考技术A 这些东西我也看不出来什么。
你可以在A表上加一个触发器,如果在已有的表中发现有相同数据的时候,raise一个error,这样好判断一些。
参考技术B 循环走了几遍你自己肯定知道吧,实在不知道就定义一个循环变量递增,不就知道执行了几次

以上是关于oracle pl/sql insert 语句同时插入了重复数据问题的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE PL/SQL 使用单个 insert 语句插入多个对象

oracle pl/sql 编程啥工具好用

pl/sql 执行sql语句的时候总是在初始化?

如何安装pl/sql developer

如何配置pl/sql 连接远程oracle服务器

oracle PL/SQL语句题目求教!