有没有好办法?
我禁用这个表的全部约束后,出现:
 错误: ORA-25128: 不能对带有禁用和验证约束条件 (TESTA.FK_BMTTT_REFERENCE_BM_DTL) 的表进行插入/更新/删除难道update 不成吗?

解决方案 »

  1.   

    楼主将禁用约束和update的语句贴出来
      

  2.   

    begin
    for cur in (select owner, constraint_name , table_name 
    from all_constraints
    where owner = :OBJECT_OWNER and
    TABLE_NAME = :OBJECT_NAME) loop
      execute immediate 'ALTER TABLE '||cur.owner||'.'||cur.table_name||' MODIFY CONSTRAINT "'||cur.constraint_name||'" DISABLE VALIDATE ';
       end loop;
    end;
      

  3.   

    ORA-25128 No insert/update/delete on table with constraint (string.string) disabled and validatedCause: An attempt was made to insert/update/delete on table with DISABLE VALIDATE constraint.Action: Change the constraint's states.上面说明得明白了,你使用了alter table <tablename> disable validate语句
    Disable Validate禁用约束,删除约束上的索引,不允许修改任何被约束的记录!!如果你想要修改,可以alter table <tablename> disable
      

  4.   

    楼上的正确
    SQL> ALTER TABLE scott.EMP MODIFY CONSTRAINT FK_DEPTNO DISABLE VALIDATE;
     
    Table altered
     
    SQL> ALTER TABLE scott.EMP MODIFY CONSTRAINT PK_EMP DISABLE VALIDATE;
     
    Table altered
     
    SQL> UPDATE EMP T SET T.EMPNO=1;
     
    UPDATE EMP T SET T.EMPNO=1
     
    ORA-25128: No insert/update/delete on table with constraint (SCOTT.PK_EMP) disabled and validated
     
    SQL> ALTER TABLE EMP DISABLE CONSTRAINT FK_DEPTNO;
     
    Table altered
     
    SQL> ALTER TABLE EMP DISABLE CONSTRAINT PK_EMP;
     
    Table altered
     
    SQL> UPDATE EMP T SET T.EMPNO=1;
     
    14 rows updated
     
    SQL>