有没有好办法?
我禁用这个表的全部约束后,出现:
错误: ORA-25128: 不能对带有禁用和验证约束条件 (TESTA.FK_BMTTT_REFERENCE_BM_DTL) 的表进行插入/更新/删除难道update 不成吗?
我禁用这个表的全部约束后,出现:
错误: ORA-25128: 不能对带有禁用和验证约束条件 (TESTA.FK_BMTTT_REFERENCE_BM_DTL) 的表进行插入/更新/删除难道update 不成吗?
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;
Disable Validate禁用约束,删除约束上的索引,不允许修改任何被约束的记录!!如果你想要修改,可以alter table <tablename> disable
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>