ORA-22894: cannot add constraint on existing unscoped REF columns of non-empty tables

文档解释

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;

你可能感兴趣的