ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录

原创 2012年03月22日 09:46:59

今天遇到一个问题,在删除表的时候报的错ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录。

原因是:删除该表时,有依赖该表的子表数据,需要删除该条记录或者禁用约束。如果记录多,查找很不方便。所以最好就是禁用约束。那么表那么多我们怎么看约束在哪个表里呢。这里需要查询 constraint_name 表。让我们看看 desc constraint_name; (红色部分)

Name              Type         Nullable Default Comments                                                                   
----------------- ------------ -------- ------- ---------------------------------------------------------------------------
OWNER             VARCHAR2(30)                  Owner of the table                                                         
CONSTRAINT_NAME   VARCHAR2(30)                  Name associated with constraint definition                                 
CONSTRAINT_TYPE   VARCHAR2(1)  Y                Type of constraint definition                                              
TABLE_NAME        VARCHAR2(30)                  Name associated with table with constraint definition                      
SEARCH_CONDITION  LONG         Y                Text of search condition for table check                                   
R_OWNER           VARCHAR2(30) Y                Owner of table used in referential constraint                              
R_CONSTRAINT_NAME VARCHAR2(30) Y                Name of unique constraint definition for referenced table                  
DELETE_RULE       VARCHAR2(9)  Y                The delete rule for a referential constraint                               
STATUS            VARCHAR2(8)  Y                Enforcement status of constraint -  ENABLED or DISABLED                    
DEFERRABLE        VARCHAR2(14) Y                Is the constraint deferrable - DEFERRABLE or NOT DEFERRABLE                
DEFERRED          VARCHAR2(9)  Y                Is the constraint deferred by default -  DEFERRED or IMMEDIATE             
VALIDATED         VARCHAR2(13) Y                Was this constraint system validated? -  VALIDATED or NOT VALIDATED        
GENERATED         VARCHAR2(14) Y                Was the constraint name system generated? -  GENERATED NAME or USER NAME   
BAD               VARCHAR2(3)  Y                Creating this constraint should give ORA-02436.  Rewrite it before 2000 AD.
RELY              VARCHAR2(4)  Y                If set, this flag will be used in optimizer                                
LAST_CHANGE       DATE         Y                The date when this column was last enabled or disabled                     
INDEX_OWNER       VARCHAR2(30) Y                The owner of the index used by the constraint                              
INDEX_NAME        VARCHAR2(30) Y                The index used by the constraint                                           
INVALID           VARCHAR2(7)  Y                                                                                           
VIEW_RELATED      VARCHAR2(14) Y  

可以看到表名和约束名。我们用语句来禁用该约束

alter table 表名 disable constraint 约束名;

........

当然删除了表以后,别忘记在启用该约束

alter table 表名 enable constraint 约束名;

这里就全都完成了                                                                                         

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Oracle ORA-02292: 违反完整约束条件 (UNITELE.TA_SUB_REFERENCE3) - 已找到子记录

A表被B表引用,删除A表的时候提示ORA-02292,A表的主键被引用了,虽然已经把B表的数据全部删除掉,但仍然删除不了A表的数据。 解决办法: 用禁用约束语句把A表的主键约束给禁用掉。 1、禁...

ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录

有时候对Oracle某个表的数据做修改的时候,会报错:ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录 原因: 数据库中有个表的设了外键来参照现在的表 解决方法: ...

ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录

原因: 数据库中有个表的设了外键来参照现在的表

Oracle报错:“ORA-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录

删除表A的记录时,Oracle 报错:“ORA-02292:违反完整约束条件(XXX.XXX)- 已找到子记录

ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录

今天遇到一个问题,在删除表的时候报的错ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到子记录。 原因是:删除该表时,有依赖该表的子表数据,需要删除该条记录或者禁用约束。如果记录...

有关ORA-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录的删除方法

第一步就是找到子表的记录: select a.constraint_name, a.table_name, b.constraint_name from user_constraints a,...

手动批量处理 “ORA-02292: 违反完整约束条件 - 已找到子记录”

我们通常会在Hibernate中设置好父表与子表的对应关系,并可实现在没有on delete cascade前提下,删除父表时,自动删除子表信息。         但是:如果我们真遇到需要手动处理一...

ORA-02291: 违反完整约束条件 - 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要...

oracle中插入数据出现错误:ORA-02291: 违反完整约束条件 (SCOTT.FK_SX9MLJB8T3FWB40GVCSKHYSYT)- 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要...

ORA-02291: 违反完整约束条件 - 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要么...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)