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

问题描述

当我尝试从应用程序的父表中删除某些内容时,我收到违反完整性约束的错误

如何使用查询找到引用表名?

解决方法

您可以使用 user_constraints 表如下:

select c.*
 from user_constraints p 
 join user_constraints c on p.constraint_name = c.r_constrainst_name
where p.constraint_type = 'P'
 and p.table_name = '<Your_Table_name>'

您也可以在上述查询中使用 user_cons_columns 来获取子表的特定列名。

,

如果您从错误 ORA-02292 消息中知道约束名称,您可以找到引用的表名:

 select table_name
  from all_constraints c
 where constraint_name = '<constrant name>'