Oracle存储过程执行insert出错,但单独执行insert时正确

一个存储过程需要插入200笔数据到EOVHR,通过SQL1查询出需要插入的200笔数据,但插入到第90笔的时候报唯一性错误ORA-00001。怀疑是不是这200笔数据有重复,但查询出这200笔数据时发现并无重复数据。

既然这200笔数据时发现并无重复数据,那就是这200笔数据中,有数据和 EOVHR中已有的数据存在重复,你可以写个sql查询出这种问题,比如:

select st.*
from source_table st
inner join eovhr e
on 连接条件

参考:http://blog.csdn.net/zengmuansha/article/details/5588636

刚才测试了下,是存储过程只能insert EOVHR 165条记录,部分EOVHR表索引内容如下,不知道怎么改:

create unique index IDX1_OVHR on EOVHR (NUM_OVHR)
tablespace TEK_TBS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 640K
next 1M
minextents 1
maxextents unlimited
);
图片说明