oracle提取表名和字段名及字段长度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle提取表名和字段名及字段长度

SELECT

d.TABLE_NAME tbName,--表名

COALESCE(MENTS, ' ') tbDesc, --表注释

a.COLUMN_NAME columnName, --字段名

a.DATA_TYPE columnType, --字段类型

a.DATA_LENGTH width, --字段长度

a.DATA_SCALE precision,--字段小数位

a.DATA_TYPE || '('||a.DATA_LENGTH ||(case when a.DATA_SCALE >=0 then ','||a.DATA_SCALE ELSE '' end)||')',

decode(a.NULLABLE,'Y','0','1') notNull,--是否允许空

COALESCE(MENTS, ' ') comments, --字段备注

decode(k.uniqueness,'UNIQUE','1','0') uniques, --是否唯一

COALESCE(k.index_name, ' ') indexName,--如果是索引,索引名

decode(k.key,'Y','1','0') masterKey--是否主键

FROM

user_tab_columns a

INNER JOIN user_tables d on a.TABLE_NAME=d.TABLE_NAME

LEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAME

LEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAME

LEFT JOIN

(

SELECT

e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_n ame,NULL,'N','Y') key

from user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_name LEFT 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_NAME ORDER BY tbName

相关文档
最新文档