ORA-30733: cannot specify rowid constraint on scoped ref column

文档解释

ORA-30733: cannot specify rowid constraint on scoped ref column

Cause: An attempt was made to specify rowid constraint on a scoped REF column.

Action: Remove the rowid constraint and then retry the operation.

ORA-30733: cannot specify rowid constraint on scoped ref column:

该错误提示用户不能为范围引用列指定ROWID约束。这意味着当定义一个表为REFERENCES子句时,它不能用ROWID约束去范围限制关联表中的父行。

官方解释

当定义一个外键时,ROWID约束只能用于指向主表中唯一性键的外键引用,而不能用于范围限制的外键引用。系统将返回或抛出此错误,指出ROWID约束不能用于范围限制外键引用。

常见案例

假设B表引用了A表,A表列c1有唯一性限制,然后当键去要建立一个外键时,A表列c2没有唯一性限制,当使用ROWID约束去范围限制的时候,则会抛出ORA-30733的错误

一般处理方法及步骤

1.为A表的列c2建立唯一性限制;

2.确认B表的外键对应对A表的列有唯一性限制;

3.使用ROWID约束设置B表的外键。

你可能感兴趣的