网站首页 网站建设 IT知识 IT知识教程 oracle获取当前用户表、字段等详细信息SQL

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

2021-05-24 21:32:44

做个笔记,仅供参考

SELECT d.TABLE_NAME tbName,//表名COALESCE(t.COMMENTS, ' ') tbDesc, //表注释a.COLUMN_NAME columnName, //字段名a.DATA_TYPE columnType, //字段类型a.DATA_LENGTH width, //字段长度a.DATA_SCALE precision,//字段小数位decode(a.NULLABLE,'Y','0','1') notNull,//是否允许空COALESCE(m.COMMENTS, ' ') comments, //字段备注decode(k.uniqueness,'UNIQUE','1','0') uniques, //是否唯一COALESCE(k.index_name, ' ') indexName,//如果是索引,索引名decode(k.key,'Y','1','0') masterKey//是否主键FROMuser_tab_columns aINNER JOIN user_tables d on a.TABLE_NAME=d.TABLE_NAMELEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAMELEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAMELEFT JOIN(SELECT e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,'N','Y') keyfrom user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_nameLEFT JOIN ( select constraint_name from user_constraints where constraint_type='P' ) p ON e.index_name=p.constraint_name) k ON k.TABLE_NAME=a.TABLE_NAME and k.COLUMN_NAME=a.COLUMN_NAMEORDER BY tbName

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。 如涉及版权问题,请提交至online#300.cn邮箱联系删除。

以上产品还未完全满足我的所有需求,在下方提交我的专属需求
我的专属需求:
*手机号:
*验证码:
img
咨询报价
现在咨询
img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP