Sql ORA-02292:违反完整性约束(FK_帐户\消费者ID)-找到子记录

Sql ORA-02292:违反完整性约束(FK_帐户\消费者ID)-找到子记录,sql,oracle,plsql,Sql,Oracle,Plsql,我的应用程序读取一个正在批处理作业中处理的巨大文件,如果它有代码“D”,它将删除account表中的行。 此帐户表与消费者ID列链接的消费者表具有外键FK\u account\u CONSUMER\u ID关系。 删除操作顺序正确,有时会导致完整性约束冲突错误,作业失败 非常感谢您的帮助 BEGIN --If action code is D, delete the records IF (temp_account_id is not null AND temp_action_c

我的应用程序读取一个正在批处理作业中处理的巨大文件,如果它有代码“D”,它将删除account表中的行。 此帐户表与消费者ID列链接的消费者表具有外键
FK\u account\u CONSUMER\u ID
关系。 删除操作顺序正确,有时会导致完整性约束冲突错误,作业失败

非常感谢您的帮助

BEGIN
    --If action code is D, delete the records
    IF (temp_account_id is not null AND temp_action_code = 'D') THEN
        delete account_tokens at
        where at.account_id = temp_account_id;

        delete account a
        where a.account_id = temp_account_id;
    END IF;

END;
com.batch.framework.BatchJobException:处理时发生SQLException 数据馈送批次=343919。Message=无法创建IDBResultSet 对象:java.sql.SQLIntegrityConstraintViolationException:ORA-02292: 违反完整性约束(FK\ U帐户\消费者\ ID)-子记录 发现


你可能需要检查一些东西

  • 帐户表中可能有多个子行
  • 可能还有其他表具有使用者id外键

  • 您需要向我们展示这两个表的DDL,或者至少展示如何定义PK/FK约束。如果帐户具有引用消费者表上PK的FK,则删除该子(帐户)记录不应导致此错误;那么,您以后是否也会删除消费者(可能是一个具有多个帐户的消费者?),或者您是否有触发器执行您不期望的操作,或者级联约束也不完全正确?检查FK约束的定义
    FK\u帐户\u消费者ID
    ,它可能指向另一个表。