内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-02298常见约束
无法验证 - 找不到父键
Cannot validate - parent keys not found
错误描述
无法验证外键约束,因为子行引用了不存在的父键值。
可能原因
- 存在孤立的子行(父行已删除)
- 数据加载到子表时未检查引用完整性
解决方案
- 1查找孤立行:SELECT * FROM child WHERE fk_col NOT IN (SELECT pk_col FROM parent);
- 2删除孤立行或插入缺失的父行
- 3使用 ENABLE NOVALIDATE 跳过现有数据验证
诊断命令
SELECT c.* FROM <child_table> c WHERE c.<fk_col> NOT IN (SELECT p.<pk_col> FROM <parent_table> p);#constraint#foreign-key#orphan#validate