ERROR: SQL execution error, ORA-00001: unique constraint (SCOTT.SYS_C004015) violated:
INSERT INTO DATA( DAT_ID, DAT_FNAME, DAT_DESC, DAT_BIN, DAT_TIMESTAMP, DAT_DIR
) VALUES( DAT_SEQ.NEXTVAL, '1.jpg', 'sw', EMPTY_BLOB(), TO_DATE( '2009-08-12 12:
45:55', 'YYYY-MM-DD HH24:MI:SS' ), 81 )谢谢

解决方案 »

  1.   

     unique constraint (SCOTT.SYS_C004015) violated...违反唯一性约束
      

  2.   

    看看这个索引名对应的字段有哪些:SYS_C004015,该索引为唯一索引。
      

  3.   

    Columns
    Name         Data Type Size Scale Not NULL Default Value
    DAT_ID NUMBER                 10         [YES]
    DAT_FNAME VARCHAR2 255
    DAT_DESC VARCHAR2 1024
    DAT_BIN BLOB
    DAT_TIMESTAMP DATE
    DAT_DIR NUMBER                 10         [YES]
    Constraints

    [Previous functionality disabled]  Previous  1-3 of 3 Next  [Next functionality disabled]
    Name Type Table Columns Disabled Deferrable Initially Deferred Validate RELY
    SYS_C005457 CHECK DAT_ID NO NO NO YES NO
    SYS_C005458 CHECK DAT_DIR NO NO NO YES NO
    SYS_C005459 PRIMARY DAT_ID NO NO NO YES NO
      

  4.   

    SELECT owner,constraint_type,table_name FROM all_constraints WHERE constraint_name = 'SYS_C004015';
    确认下建在哪个表上
      

  5.   

    SELECT owner,constraint_type,table_name FROM all_constraints WHERE constraint_name = 'SYS_C004015';
    确认下建在哪个表上
      

  6.   

    SELECT owner,constraint_type,table_name FROM all_constraints WHERE constraint_name = 'SYS_C004015';
    确认下建在哪个表上
      

  7.   

    我oracle不太熟悉,
    用的是网页,不知道怎么打开sql执行操作,Home Performance

    Administration


    Maintenance

    The Administration tab displays links that allow you to administer database objects and initiate database operations inside an Oracle database. The Maintenance tab displays links that provide functions that control the flow of data between or outside Oracle databases.
      

  8.   

    只能通过应用web访问oracle?是isqlplus?
    sqlplus,plsql developer,toad等不能访问?
    貌似楼主操作用户是scott,测试库吧?
      

  9.   

    刚装了个plsql,
    执行了下你的语句:Connected as scott
     
    SQL> SELECT owner,constraint_type,table_name FROM all_constraints WHERE constraint_name = 'SYS_C004015'; 
     
    OWNER                          CONSTRAINT_TYPE TABLE_NAME
    ------------------------------ --------------- ------------------------------
     
    SQL> 
      

  10.   

    SELECT index_owner,index_name,table_owner,table_name,column_name FROM all_ind_columns WHERE index_name = 'SYS_C004015';
      

  11.   

    昨天查了一下,是sequences的问题,next number错误,
    现在手工可以插入记录,
    但是程序不行(oracle 的开发接口ODatabase),还是提示这个错误
      

  12.   

    你查出当前记录里面的最大 DAT_ID 的值
    然后修改一下 DAT_SEQ 这个sequence 的当前值为 最大 DAT_ID + 1 就好了
      

  13.   

    SCOTT.SYS_C004015是这个DAT_ID上的吗