内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-02266常见约束
表中的唯一/主键被启用的外键引用
Unique/primary keys in table referenced by enabled foreign keys
错误描述
无法删除或截断其唯一/主键被其他表中启用的外键约束引用的表。
可能原因
- 尝试 TRUNCATE 或 DROP 具有依赖子表的父表
- 引用表上的外键约束已启用
解决方案
- 1先禁用外键约束:ALTER TABLE child DISABLE CONSTRAINT fk_name;
- 2使用 DROP TABLE ... CASCADE CONSTRAINTS;
- 3在截断父表之前删除子行
诊断命令
SELECT constraint_name, table_name, r_constraint_name FROM dba_constraints WHERE constraint_type = 'R' AND r_constraint_name IN (SELECT constraint_name FROM dba_constraints WHERE table_name = '<PARENT_TABLE>');#constraint#foreign-key#truncate#drop