博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查找数据库中所有主表、主键及子表、外键关系
阅读量:6921 次
发布时间:2019-06-27

本文共 888 字,大约阅读时间需要 2 分钟。

select f0.table_name,f3.pkcol,f3.ctab,f3.refcol

from user_tables f0
left join
(
  select f1.table_name ftab,f1.column_name pkcol,f1.constraint_name,f2.table_name ctab,f2.column_name refcol from
  (
    select cn1.table_name,uc1.column_name,cn1.constraint_name
    from user_constraints cn1,user_cons_columns uc1
    where
    cn1.constraint_type='P'
    and instr(cn1.table_name,'BIN$')=0 --数据库中往往会有垃圾约束数据,此条件可以过滤掉,提高速度
    and cn1.constraint_name=uc1.constraint_name
  ) f1
  left join
  (
    select table_name,column_name, r_constraint_name from
    (
      select cn2.table_name,uc2.column_name,cn2.r_constraint_name
      from user_constraints cn2,user_cons_columns uc2
      where
      cn2.constraint_name=uc2.constraint_name
      and instr(cn2.table_name,'BIN$')=0 --数据库中往往会有垃圾约束数据,此条件可以过滤掉,提高速度
    )
  ) f2
  on
  f1.constraint_name=f2.r_constraint_name
) f3
on
f0.table_name = f3.ftab
order by f0.table_name

转载于:https://www.cnblogs.com/mol1995/p/7601136.html

你可能感兴趣的文章
ionic 提示 Error: Could not find gradle wrapper within Android SDK.
查看>>
PopupWindow下拉背景模糊地实现
查看>>
在 CakePHP 2.10.3 中,在控制器中打印已经执行过的 SQL 语句流程
查看>>
CpuIdle Extreme(CPU降温工具)官方版
查看>>
flume整合kafka,实现exactly one的数据采集
查看>>
execCommand + contenteditable 实现强大富文本编辑功能
查看>>
Hadoop源码分析HDFS ClientProtocol——create
查看>>
linux上一款功能强大的取色工具
查看>>
php多维数组去掉重复值
查看>>
Struts上路_13-OGNL对象图导航语言
查看>>
Maven 启动找不到 Launcher 的问题
查看>>
TensorFlow 官方API学习02--MNIST(上)
查看>>
Python watchdog
查看>>
网络爬虫01: Urllib2库使用代理IP
查看>>
又好又快,免费学习编程的9个地方
查看>>
PreparedStatement 用问号传参引发查询(SQLServer )数据慢的解决方案
查看>>
CAS 单点登录碰到问题汇总
查看>>
Java异常处理最佳实践及陷阱防范
查看>>
mysql报错 could not fetch initial value for incre...
查看>>
zabbix 微信api告警调用
查看>>