文档解释
ORA-30766: cannot modify scope for a REF column with a REFERENCES constraint
Cause: An attempt was made to modify the scope for a REF column with a REFERENCES constraint.
Action: Drop the REFERENCES constraint, and retry the operation.
ORA-30766: cannot modify scope for a REF column with a REFERENCES constraint,这是由Oracle数据库报出的一个错误,主要发生在当使用更改列或约束更改参考列的范围(scope)时。
官方解释
ORA-30766 的错误表明用户试图更改引用列的范围,如果它还有一个引用限制,这是不允许的,数据库建议用户先删除参考限制,然后再使用更改命令更改引用列的范围,最后重新创建参考约束。
常见案例
当用户试图使用ALTER TABLE更改表中引用列的范围(scope)时,如果它还有参考约束,将发出此错误。
一般处理方法及步骤
1. 使用ALTER TABLE删除参考约束:
ALTER TABLE table_name DROP CONSTRAINT ref_constraint;
2. 使用ALTER TABLE更改引用列的范围:
ALTER TABLE table_name MODIFY (column_name SCOPE);
3.使用ALTER TABLE重新建立引用约束:
ALTER TABLE table_name ADD CONSTRAINT ref_constraint FOREIGN KEY (column_name) REFERENCES target_table (target_column);