查询主键被外键引用的表

在删除一些表的时候,经常会遇到主键被一些关系表中的外键引用,而无法删除,这时候就要找到主键是被哪张表引用,在oracle中有一个视图可以帮助我们 做到这一点,它就是user_constraints,在以下的例子中,'ENTITY_PKID'是主键的名称,'R'是说明我们要查询外键关系:

select c.constraint_name,
       c.table_name,
       c.constraint_type,
       c.r_constraint_name
  from user_constraints c
 where c.r_constraint_name = 'ENTITY_PKID'
   and c.constraint_type = 'R'

 查询结果如下:有的时候,constraint_name有可能出现类似SYS_C00131759这种看不懂的名称,这是因为在创建外键的时候,没有指定constraint_name,系统会自动分配一个名称


查询主键被外键引用的表_第1张图片

你可能感兴趣的:(oracle,C++,c,C#)