oracle导出数据库表文档(包括字段名,类型,长度,注释,主外键等)

目标

整理数据库文档是一个比较常见的工作,例如oracle数据库提供了很多内置视图,可以非常方便的查询出各种表信息,字段信息,大大提升生成数据库文档的效率,下面简单一种方式。

我们的目标是统计出数据库表中如下的信息。
在这里插入图片描述

sql实现,基于内置视图


SELECT a.COLUMN_NAME as "字段名",b.COMMENTS as "含义",
       a.DATA_TYPE  || '(' || a.DATA_LENGTH || ')'  as "数据类型",
       ---内置视图中a.NULLABLE为Y表示非必填,这里用decode做一下转换
       decode(a.NULLABLE,'Y','N','N','Y','N') as "必填",
       ---查询主外键我是根据自己业务匹配的,不具有通用性,自己可以适当调整
       case when  instr(a.COLUMN_NAME,'S_GUID') > 0 then 'PK'
            when  substr(a.COLUMN_NAME,length(a.COLUMN_NAME)-1)
            = 'ID' then 'FK' else '' END as "主外键",
       b.COMMENTS as "备注"
from 
	   ALL_TAB_COLUMNS a,ALL_COL_COMMENTS b
WHERE 
       a.OWNER=b.OWNER AND a.TABLE_NAME=b.TABLE_NAME AND a.COLUMN_NAME=b.COLUMN_NAME
      --AND a.OWNER='LOANCORE'
       AND a.TABLE_NAME='TEST'
ORDER BY  
	   --排序,主键是一个字段,外键是仅次于主键的顺序,最后是业务字段	
       case when instr(a.COLUMN_NAME,'S_GUID') > 0 then 1
            when substr(a.COLUMN_NAME,length(a.COLUMN_NAME)-1) = 'ID' then 2 
            else 3 END, 
            a.COLUMN_ID;

sql结果展示:
在这里插入图片描述

结束

查出数据复制进文档就可以了。
查看oracle各类内置视图的链接:内置视图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值