今天使用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之后,再执行插入操作就成功解决该问题了。
: