文档解释
ORA-22896: cannot have both scope and referential constraint on REF column “string”
Cause: REF column has both a referential and a scope constraint. A referential constraint implies a scope constraint.
Action: Remove either the referential or scope constraint and then retry the operation.
ORA-22896错误指示您同时尝试在引用列上使用范围列和参考约束。由于引用列旨在引用另一个表中的列,因此不能同时使用范围列和参考约束。
官方解释
这是由于在引用列上使用范围列和参考约束同时尝试时引发的错误。由于一个参照列旨在将一列参照到另一个表及其列中,因此无法同时使用范围列和参考约束。
常见案例
假设您有两个表,和。其中,Table1有两个列“x”和“y”,而Table2仅有一列“x”。如果您尝试将Table2的“x”列引用到Table1的“x”和“y”列,您可能会得到ORA-22896错误。
一般处理方法及步骤
要解决ORA-22896错误,您必须确保在引用列上只使用参考约束或只使用范围列,而不是两者。例如,要确保只使用参考约束,Table2必须有一列“y”,将Table2的“x”和“y”列引用到Table1的“x”列和“y”列。