向各位大虾请教一个问题:
 ORACLE 的一个错误提示:ORA-00001: unique constraint (GXIBSS.PK_BONUS_SERV_NEW) violated在网上看过一些相关的文章:在设置了cursor_sharing为similar或者force之后,可能触发此Bug,导致主键冲突。请教各位大虾如何解决此问题:把cursor_sharing设置为exact 可以吗?有什么好的方法吗?谢谢

解决方案 »

  1.   

    你确认你的表里面没有unique constraint?
    或者unique index?
      

  2.   

    select * from user_constraints where table_name='tablename'
      

  3.   

    http://hi.baidu.com/oo_8472/blog/item/ddbc81a77d18729dd14358a9.html
    哎。来学习。随便看看难兄难弟们。
      

  4.   

    http://blog.sina.com.cn/s/blog_4c873922010007s2.html
    这是oracle10g前的bug 
      

  5.   

    我遇到过这个问题 原因是我的sequence里的值才六位数,但是我使用此sequence的数据表的对应字段的最大值已经七位数,已经远远超过“产生”他的这个序列了 
      

  6.   

    N年前的帖子啊,是因为你插入的时候记录时一条一条进去的,你修改掉的记录可能你看不到了,但是在数据库中还是存在的,没有修改掉,导致你插入的时候记录仍然存在,所以就报错了。例如记录Id为 01 02 03 04 05 06,你将它修改为 03 05 02 04 06 01 ,当你修改时插入03 的时候他将01记录删除了,但是03这个记录仍然在表里,只是你认为它被修改掉了,所以提交就会报错
      

  7.   

    http://blog.sina.com.cn/s/blog_4c873922010007s2.html
    存在一个相关Bug,Bug号为:2784796.
    在设置了cursor_sharing为similar或者force之后,可能触发此Bug,导致主键冲突