yufeng0471 发表于 2013-1-19 04:14:11

查询主键被外键引用的表

在删除一些表的时候,经常会遇到主键被一些关系表中的外键引用,而无法删除,这时候就要找到主键是被哪张表引用,在oracle中有一个视图可以帮助我们做到这一点,它就是user_constraints,在以下的例子中,'ENTITY_PKID'是主键的名称,'R'是说明我们要查询外键关系:
select c.constraint_name,       c.table_name,       c.constraint_type,       c.r_constraint_namefrom user_constraints c where c.r_constraint_name = 'ENTITY_PKID'   and c.constraint_type = 'R' 查询结果如下:有的时候,constraint_name有可能出现类似SYS_C00131759这种看不懂的名称,这是因为在创建外键的时候,没有指定constraint_name,系统会自动分配一个名称

http://dl.iteye.com/upload/attachment/406441/65090253-5de8-3955-9aa3-f7da51495502.png
页: [1]
查看完整版本: 查询主键被外键引用的表