共计 618 个字符,预计需要花费 2 分钟才能阅读完成。
今天使用 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 之后,再执行插入操作就成功解决该问题了。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138956.htm