当前位置: 首页 > 知识库问答 >
问题:

Oracle-Integrity约束被违反-找到子记录

姚麒
2023-03-14

我有一个很大的PL/SQL存储过程,在这里我们进行一些删除和插入一样长的操作。过程以语句开始

 EXECUTE IMMEDIATE 'SET CONSTRAINTS ALL DEFERRED'

当我试图在子表中插入值,但父表中没有此条目时,会发生此错误吗?

还有,02292和02291有什么区别?

共有1个答案

龚永新
2023-03-14

ORA-02292表示发生错误的原因是A)约束没有指定ON DELETE子句,以及B)您从主表中删除了一个在子表中有匹配引用的行。您的选择是修改约束,以便具有ON DELETE级联,或者确保在从主表中删除之前删除所有子记录。我更喜欢添加ON DELETE级联,但我认为可能有不这样做的原因。请参见ORA-02292。

ORA-02291与此正好相反。如果尝试向子表中插入行,但主表中不存在约束中指定的新子行的关键字段值,则将引发ORA-02291。参见ORA-02291。

 类似资料:
  • 我的应用程序读取一个正在批处理作业中处理的大文件,如果它有代码“D”,它就删除account表中的行。此帐户表与CONSUMER_ID列链接的消费者表具有外键关系。删除操作的顺序正确,但有时会导致违反完整性约束的错误,从而导致作业失败。

  • 我有一个类有多个@OneTomany关系(有类似+5000个子实体),当我尝试执行deleteAll时,我得到标题错误 我试着添加 而且 我究竟如何一致地删除所有这些实体?到目前为止,自从这个问题开始以来,我已经手动删除了表(几天前所有实体都被删除了),但这真的让我很恼火,但我想不出该怎么做。 谢谢!

  • 当我试图在数据库中创建一个新用户时,我遇到了一个问题,如果我在phpmyadmin中添加用户,我没有问题,但是当我试图在laravel web中创建用户时,用户创建了一个错误:SQLSTATE[23000]:完整性约束冲突:1062重复条目'15.236.964-5'键'primary'我不知道是哪个问题,因为数据库中不存在相同的主键。有问题的表格是: 我的控制器: 我的模型: 我不能更改添加au

  • 我有以下hibernate实体: 第二点: 当我试图删除实体新闻时,我得到异常ORA-02292:完整性约束(ROOT。SYS_C007062)违反了找到的子记录。因此,如果我删除属性"updatable=false",它会尝试将可为空的字段设置为属性Comment。我犯了什么错?拜托,帮帮忙。谢谢。

  • 我有一个由四个表组成的数据库。关系模式如图所示: 下面是几行: 现在我正试图删除所有者id为OW1的所有者。因为id是所有者表中的主键,而在其他表中是外键,所以不允许我删除该行。以下是我尝试过的SQL: 它返回: 我不允许在关系图中设置删除规则为“级联”。请帮助:(

  • 有人能帮我吗?我已经创建了我所有的表和insert语句,但是我得到了这个错误。 这是我试图将数据插入的表: 这是我的插入声明: 错误: “违反了完整性约束(%s.%s)-未找到父项”(SQL Developer) 完整性约束(MS166.FK_SPECIES_ID)被侵犯-未找到父密钥(SQLPlus) 先谢谢你。