ORA-22972: NULL value not allowed in PRIMARY KEY-based object identifier
Cause: A value constituting the PRIMARY KEY-based object identifier is NULL.
Action: Ensure the expressions in MAKE_REF system function or attributes in the WITH OBJECT OID clause of an object view do not evaluate to NULL.
ORA-22972:NULL值不允许用于基于PRIMARY KEY的对象标识符。
ORA-22972表明要添加的记录具有一个无效值作为对象标识符,而根据PL/SQL文档,只有不能使用无效值作为对象标识符:
“PL/SQL运行时引擎不允许使用NULL或空字符串作为存储过程调用或数组访问的对象标识符。因此,只有在使用主键作为对象标识符时,才有可能使用NULL作为标识符,因为主键也可以是NULL。”
解决此错误的常见方法是,在插入表中之前检查传递给Oracle表的主键值,确保它们不是NULL或空字符串,如果有,则将其替换为正确的值。