服务器之家

服务器之家 > 正文

oracle获取当前用户表、字段等详细信息SQL

时间:2019-12-11 15:03     来源/作者:whsnow

做个笔记,仅供参考

  1. SELECT 
  2. d.TABLE_NAME tbName,//表名 
  3. COALESCE(t.COMMENTS, ' ') tbDesc, //表注释 
  4. a.COLUMN_NAME columnName, //字段名 
  5. a.DATA_TYPE columnType, //字段类型 
  6. a.DATA_LENGTH width, //字段长度 
  7. a.DATA_SCALE precision,//字段小数位 
  8.   
  9. decode(a.NULLABLE,'Y','0','1') notNull,//是否允许空 
  10. COALESCE(m.COMMENTS, ' ') comments, //字段备注 
  11. decode(k.uniqueness,'UNIQUE','1','0') uniques, //是否唯一 
  12. COALESCE(k.index_name, ' ') indexName,//如果是索引,索引名 
  13. decode(k.key,'Y','1','0') masterKey//是否主键 
  14. FROM 
  15. user_tab_columns a 
  16. INNER JOIN user_tables d on a.TABLE_NAME=d.TABLE_NAME 
  17. LEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAME 
  18. LEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAME 
  19. LEFT JOIN 
  20. SELECT e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,'N','Y') key 
  21. from user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_name 
  22. LEFT JOIN ( select constraint_name from user_constraints where constraint_type='P' ) p ON e.index_name=p.constraint_name 
  23. ) k ON k.TABLE_NAME=a.TABLE_NAME and k.COLUMN_NAME=a.COLUMN_NAME 
  24. ORDER BY tbName 

备注:user_开头是当前用户,all_开头所有用户,dba_开头包括系统表

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部