抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

通过 sql 查询指定用户所有表名、字段名、字段类型及相关注释生成简单的数据字典。

代码

SELECT 
t.TABLE_NAME AS "表名,
t.TABLE_COMMENTS AS "表注释,
c.COLUMN_NAME AS "字段名,
c.DATA_TYPE AS "字段类型,
c.COLUMN_COMMENTS AS "字段注释
FROM (
-- 子查询:获取表名及表注释
SELECT
a.TABLE_NAME,
b.COMMENTS AS TABLE_COMMENTS
FROM
DBA_TABLES a
LEFT JOIN
DBA_TAB_COMMENTS b
ON a.OWNER = b.OWNER AND a.TABLE_NAME = b.TABLE_NAME
WHERE
a.OWNER = 'RISK' --修改 risk 为你需要的用户
) t
JOIN (
-- 子查询:获取字段名、类型及字段注释
SELECT
c.TABLE_NAME,
c.COLUMN_NAME,
c.DATA_TYPE,
d.COMMENTS AS COLUMN_COMMENTS
FROM
DBA_TAB_COLUMNS c
LEFT JOIN
DBA_COL_COMMENTS d
ON c.OWNER = d.OWNER
AND c.TABLE_NAME = d.TABLE_NAME
AND c.COLUMN_NAME = d.COLUMN_NAME
WHERE
c.OWNER = 'RISK'
) c
ON t.TABLE_NAME = c.TABLE_NAME
ORDER BY
t.TABLE_NAME

说明

上述代码需要 DBA 权限,如无 DBA 权限时,需将 DBA_* 替换为 ALL_*(需确保当前用户有权访问 RISK 用户的对象):

DBA_TABLES → ALL_TABLES
DBA_TAB_COMMENTS → ALL_TAB_COMMENTS
DBA_TAB_COLUMNS → ALL_TAB_COLUMNS
DBA_COL_COMMENTS → ALL_COL_COMMENTS

评论

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.15.7