ORA-26786: A row with key string exists but has conflicting column(s) string in table string
Cause: The row to update or delete exists in the table but had conflicting value for some columns.
Action: For Streams, please define a conflict resolution, or resolve the conflict and execute the error transaction using DBMS_APPLY_ADM.EXECUTE_ERROR. For logical standby, please verify the status of the database guard to ensure local modifications are not allowed, then re-instantiate the table and contact support if the problem persists.
ORA-26786是由于用户试图在表中插入一行,但不兼容现有行,产生冲突引起的。
这是一个由于指定了一条子表行,但这条行中的字段如果在虚拟父表中不兼容现有行,会导致此行无法添加到表中,从而产生的错误。
这个错误经常出现在列表表中,以维护主从关系。如果试图插入的行的某些字段(如ID)与表中的行相冲突,则会出现ORA-26786错误。
1. 首先,确定该字段与哪些行产生冲突;
2. 修改表中冲突的行,把冲突字段修改为不冲突的值;
3. 最后再执行插入操作。