手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2016-12-29] 来源:Linux社区  作者:Burongwawa [字体: ]

今天使用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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款