PL/SQL插入记录:ORA-00001:违反唯一约束条件

今天使用PL/SQL对表进行数据插入,插入的方法是:

1.    select max(pkid) from TBOP_01MATERIAL;//得出pkid为139018

2.    查看表TBOP_01MATERIAL的表结构,仅pkid为主键

3.    让pkid为139019,插入一条新记录,提示ORA-00001。到此为止让人很郁闷,莫名其妙不知所谓

4.    查找表TBOP_01MATERIAL下的Referenced by目录下,发现TR_TBOP_01MATERIAL事件触发器,查看内容为:

create or replace trigger "TR_TBOP_01MATERIAL"

before insert on tbop_01material

for each row

begin

select tbop_01material_pkid.nextval into :new.pkid from dual;

end;

5.根据4的内容,可知列pkid为自增列。查看tbop_01material_pkid

6.根据开始于139015小于1中的139018,故调整开始于的值为139019之后,再执行插入操作就成功解决该问题了。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-12/138956.htm