ORA-00001: 违反唯一约束条件 (EREPORT.SYS_C0012182)
费解的是,sql语句报此错,但是数据表还是给我插入记录?另外Unique Index  SYS_C0013980: V_rec_ID
              索引名:索引字段
没错这么看吧?
身上没分了,大家将就吧

解决方案 »

  1.   

    你是否是执行一个插入数据的sql脚本
    出错的那条数据没有插入,其他的都插入了?
      

  2.   

    是插入数据的sql
    我费解的就是,就是这条报错的sql,居然插入数据了,费解啊
    不过刚才问了一下,貌似这个表还有关联其他什么表。
    得等明天再问
      

  3.   

    执行错误:insert into HELP_NOTICE(V_REC_ID,V_TITLE,V_DATE,V_IS_TOALL,V_ORGAN_REC_ID,V_IS_TOSUB_ORGAN,V_TO_USER_ID,V_MEMO,V_USER_ID,V_USER_NM,N_SAVE_DAYS,V_UPD_OPR_ID,V_UPD_OPR_NM,DT_UPD_DATE,NOTICE_TYPE) values(847,'您有一个新的预约单,请处理!','20091112','','','','linll','您有一个新的预约单,请处理!','','',90,'SYSTEM','ADMIN','20091112165133','2')-->ORA-00001: 违反唯一约束条件 (EREPORT.SYS_C0012182)
      

  4.   

    如果你执行的是若干条独立的insert,则出错的一条不会插入,其他的值还是会插入表中
    你查询下
    select * from all_cons_columns where constraint_name='SYS_C0012182'
    查下这个唯一约束在哪个表的那个字段上你为什么说这条记录违反了约束可是还是插入了呢?比如DT_UPD_DATE是约束所在的字段,你可以查询select * from HELP_NOTICE where DT_UPD_DATE='20091112165133'
    如果只有一条记录,就应该是你没有插入成功,查询出来的记录是原来就有的
      

  5.   

    EREPORT SYS_C0012182 HELP_NOTICE V_REC_ID 1查询结果如上,
    我插入记录的的确是这个表HELP_NOTICE你为什么说这条记录违反了约束可是还是插入了呢?
    那条报错是在系统里报这条句子错的,但是数据库里这条sql就是把记录给插入了
    系统执行这个操作时,的确是有执行2条sql,不过报错的就是这一条
    我想应该有可能是系统里那写错了
      

  6.   

    select * from HELP_NOTICE where V_REC_ID=847
    看看
    应该不会有2条记录的。如果只有一条记录,就说明你报错的那条语句并没有成功执行
      

  7.   

    问题是系统运行时,这条sql报错,我现在在研究到底哪出问题了
    应该是我的系统代码哪写错了
      

  8.   

    另外V_REC_ID这个字段是自动增量的,
      

  9.   

    是这样的,在执行一批insert语句时,如果某条违反唯一约束条件了,这条是不会插入到数据库中的,但是不影响其他的插入,你可以检查是不是这样的一种情况。
      

  10.   

    自增是在程序端实现的吧,那就是程序端出错
    你可以用oracle的序列来实现自增
      

  11.   

    是java代码的问题,里面重复执行了,后来修改了下方法