文档解释
ORA-46016: Number of columns of foreignKey does not match primaryKey.
Cause: The number of column elements within the foreignKey element did not match the number of column elements within the primaryKey element of the inheritedFrom element in the DataSecurity policy document. The colunm elements of foreignKey may be specified using either colName or colValue elements. The colunm elements of primaryKey may be specified using only colName elements.
Action: Ensure that the number of colunms of foreignKey matches the number of columns of primaryKey.
这是一个典型的提示用户级异常,它提供了一个更加简洁清楚的明确的外键约束出错的错误信息,它发生在执行用户操作的任何sql语句更新操作之前,以及当客户尝试执行的外键的值无效时,它会被引发。
官方解释
ORA-46016消息由异常情况: 当前数据库层正在处理的表中存在的外建约束中声明的列个数与其参照的主键的列个数不一致时引发。
常见案例
一般处理方法及步骤
1.确保外键列对应当地表中的主键列,或者外键列对应当地表中其它外键列。
2.确定外键约束中声明的外键和参照的主键的列个数是否一致。
3.如果必要,编辑 SQL 语句或外键约束的定义,以使外键约束中声明的外键和参照的主键的列数一致。