文档解释
ORA-30765: cannot modify scope for an unscoped REF column
Cause: An attempt was made to modify the scope for an unscoped REF column.
Action: Use an ALTER TABLE ADD SCOPE FOR command instead.
ORA-30765: cannot modify scope for an unscoped REF column
该错误指出无法修改未定义作用域的REF列,即不能修改不带类型作用域的REF列。
官方解释
ORA-30765 是由于参数 REF 无法为未定义作用域的 REF 列进行修改所导致的错误。错误信息描述:不能修改未定义作用域的 REF 列。
常见案例
案例1:
在建立一个表时,不指定REF列的作用域,而在尝试修改它的作用域时出现ORA-30765错误:
CREATE TABLE test_ref (id int,
ref REF);
ALTER TABLE test_ref MODIFY ref SCOPE IS test_ref;
一般处理方法及步骤
该错误的解决办法有以下几种:
1. 在 CREATE TABLE 语句中指定 REF 列的作用域:
CREATE TABLE test_ref(id int,
ref REF SCOPE IS test_ref);
2. 使用 ALTER TABLE ALTER COLUMN 来重新定义 REF 列的作用域:
ALTER TABLE test_ref ALTER COLUMN ref SCOPE IS test_ref;