ORA-22894: cannot add constraint on existing unscoped REF columns of non-empty tables ORACLE 报错 故障修复 远程处理
文档解释
ORA-22894: cannot add constraint on existing unscoped REF columns of non-empty tables
Cause: An attempt was made to add a constraint to existing unscoped REF columns of a table which contains one or more rows.
Action: Remove the constraint specification or add the constraint after emptying the table.
ORA-22894:不能在非空表上现有未约束REF列上添加约束
官方解释
该错误消息在向现有REF列添加约束时报告。
常见案例
当用户试图在现有REF列上添加约束时报告此错误,如下所示:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY ref_column_name REFERENCES …;
一般处理方法及步骤
1.如果此表包含数据,则应使用“enable novalidate”选项创建约束。
2.更新数据,以确保约束条件得到满足。
3.从新创建约束:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN
KEY ref_column_name REFERENCES …
enable validate;