文档解释
ORA-22872: OID INDEX clause not allowed on tables with primary key based object identifiers
Cause: An attempt to create an OID INDEX on a table with primary key based object identifiers.
Action: Remove the OID INDEX clause
该错误是 Oracle 数据库在处理某些 SQL 的时候抛出的反馈信息。官方解释是:在use an OID INDEX clause for tables with primary key based object identifiers。因为OID INDEX 指令无法处理主键基于对象标识符的表时就会出现此错误。
在 Oracle 数据库中,定义含有基于对象标识符的主键的表,需要使用OID index。此时再尝试使用这条指令,就会出现ORA-22872:OID INDEX clause not allowed on tables with primary key based object identifiers的错误。
正确处理方法为:使用相应的唯一性索引,消除表中重复的键值。如果遇到ORA-22872:OID INDEX clause not allowed on tables with primary key based object identifiers,就需要手动建立唯一索引,然后重新執行SQL就可以解决这个错误。