ORA-02292: 违反完整性约束

Posted

技术标签:

【中文标题】ORA-02292: 违反完整性约束【英文标题】:ORA-02292: integrity constraint violated 【发布时间】:2020-04-08 08:28:56 【问题描述】:

尝试从父表中删除记录时,出现 SQL 错误:

[2292] [23000]: (constraint_name) - 找到子记录

虽然我在约束所指的子表中没有找到任何记录。

是否还有其他可能我们可能会遇到此错误或如何确定该错误是否是由于任何其他子表引起的?

【问题讨论】:

您可以使用提到的查询here 并列出所有取决于您的表的子表,然后您可以更深入地了解您的问题。 您好 Eldar,我检查了具有类似查询的子表,并确保删除了具有约束名称的子表中的记录。即使那样我也面临上述错误 【参考方案1】:

您可以使用带有级联子句的delete,这样它就会从子表中删除任何存在的记录。

【讨论】:

【参考方案2】:

这意味着您尝试从父表中删除的记录具有与子表的链接。级联子句是解决此问题的一种方法。 SQL server 中的级联删除see this

【讨论】:

以上是关于ORA-02292: 违反完整性约束的主要内容,如果未能解决你的问题,请参考以下文章

ORA-02292违反完整约束和ORA-02297无法禁用约束条件 cascade禁用主键

ORA-02292: 违反完整性约束 - 在 ORACLE SQL Developer 中创建过程时发现子记录?

Hibernate ORA-02292: 违反完整性约束 (ROOT.SYS_C007062) - 找到子记录

Oracle的ORA-02292报错:违反完整性约束,已找到子记录

ora-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录

ORA-02292: 违反完整性约束 (FK_ACCOUNT_CONSUMER_ID) - 找到子记录