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时多了一条,为什麽会这样,求高手解答!
最新回答
月光很浅思念很暖

2024-11-30 19:57:31

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

oracle pl/sql 里面也有断点可以跟踪的。
望春风

2024-11-30 14:35:58

这些东西我也看不出来什么。
你可以在A表上加一个触发器,如果在已有的表中发现有相同数据的时候,raise一个error,这样好判断一些。
∠寂寞染指流年

2024-11-30 12:05:44

循环走了几遍你自己肯定知道吧,实在不知道就定义一个循环变量递增,不就知道执行了几次