oracle
提取表名和字段名及字段长度
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,--
字段小数位
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(m.COMMENTS, ' ') 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