文档解释
ORA-23667: Column “string” already used by conflict handler “string”
Cause: The column was already in the column group of another conflict handler for the specified Apply name, operation name, and conflict type.
Action: Remove the column from the other conflict handler or specify a different column.
ORA-23667错误是由冲突处理机制列使用冲突引起的,通常是字符串类型列。
官方解释
ORA-23667:列“string”已被冲突处理者“string”使用。
该错误一般是由于一列被多个处理机制同时使用导致的,比如DELETE CASCADE语句中的DELETE和UPDATE语句的UPDATE操作,就会同时使用一列。如果出现ORA-23667错误,说明对同一列的参数定义有问题,可以从下面几点进行查找和纠正:
1、检查表上是否存在定义了外键约束;
2、针对每一个外键约束,检查定义的冲突处理机制是否满足设定要求;
3、检查被使用冲突处理机制是否引用了正确的列;
4、检查被用到的冲突处理机制是否重复定义;
一般处理方法及步骤
1)检查冲突处理机制是否已正确定义;
2)检查是否有其它处理机制使用了同一列;
3)检查参考约束是否已正确定义;
4)检查参考约束的列是否正确指定;
5)如果发现有的冲突处理机制或者参考约束定义有误,可以尝试修改或者删除后重新定义;
6)如果仍然无法解决,则应及时与DBA协商处理。