Oracle 查询所有表之间的主外键关系

本文提供了一种查询Oracle数据库中特定表所有主键和外键关系的方法。通过SQL语句联合查询user_constraints和user_cons_columns视图,可以详细列出主键拥有者、主键表名、主键列名、外键拥有者、外键表名及外键列名等信息。

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

select a.table_name         主表, 
       b.table_name         子表, 
       column_name          键, 
       substr(position,1,1) P 
from 
      user_constraints a, user_constraints b, user_cons_columns c 
where 
      a.constraint_name = b.r_constraint_name 
and   a.constraint_name = c.constraint_name 
order by 1, 2, 4;

引用:http://lsx125920.javaeye.com/blog/661737 

 

查询单个表的所有主外键关系

 

select a.owner 主键拥有者

         ,a.table_name 主键表

        ,b.column_name 主键列

        ,C.OWNER 外键拥有者

        ,c.table_name 外键表

       ,d.column_name 外键列
from user_constraints  a
left join user_cons_columns b

            on  a.constraint_name=b.constraint_name
left join user_constraints C

            ON C.R_CONSTRAINT_NAME=a.constraint_name
left join user_cons_columns d

            on c.constraint_name=d.constraint_name
where  a.constraint_type='P'

    and  a.table_name='XXX' --需要查看主外键关系的表
order by a.table_name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值