oracle查询某个表的参照关系

本文介绍了一种通过SQL查询来确定数据库中表间参照关系的方法,并提供了具体的SQL语句实例。利用Oracle的数据字典表user_constraints和user_cons_columns,可以查询特定表与其他表之间的外键约束关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天开发人员询问我怎么看某个表参照了其它哪些表,或者某个表被其它哪些表参照,最好能用图表(ER图)的方式展现,开始想通过TOAD或其它工具打开,但打开后导成图片,因为表太大,报错说资源不足,后来想通过数据字典来查,折腾好久,才写出来参照关系:

主要用到2张数据字典:user_constraints和user_cons_columns

sql如下,2个地方的表名“EMP”同时变换为需要查看的表,就可以查出和这个表“EMP”相关的参照关系:

select a.table_name,a.COLUMN_NAME,c.table_name,c.column_name from  
user_cons_columns a, user_constraints b, user_cons_columns c
where a.constraint_name=B.CONSTRAINT_NAME
and b.r_constraint_name=c.constraint_name
and (c.table_name='EMP' or a.table_name ='EMP');

得出的结果为:前2列参照后2列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值