重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Oracle 存储表字段的数据字典 [打印本页]

作者: jiawang    时间: 昨天 11:38
标题: Oracle 存储表字段的数据字典
1. 核心三张表(最常用)
① USER_TAB_COLUMNS(当前用户自有表字段)
只查当前登录用户创建的表、视图的字段信息,日常开发最常用。
-- 示例:查询当前用户test表所有字段
SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE, COMMENTS
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TEST';
② ALL_TAB_COLUMNS(有权限访问的所有表字段)
包含:自己的表 + 其他用户授权给你访问的表 / 视图字段。
③ DBA_TAB_COLUMNS(全库所有表字段,需 DBA 权限)
数据库全部用户的表字段,普通用户无权限,需要 DBA 角色才能查询。


2. 配套注释表(字段中文说明)
字段注释存在:USER_COL_COMMENTS / ALL_COL_COMMENTS / DBA_COL_COMMENTS
-- 联查字段+注释
SELECT t.COLUMN_NAME, t.DATA_TYPE, c.COMMENTS
FROM USER_TAB_COLUMNS t
LEFT JOIN USER_COL_COMMENTS c
  ON t.TABLE_NAME = c.TABLE_NAME AND t.COLUMN_NAME = c.COLUMN_NAME
WHERE t.TABLE_NAME = 'TEST';


补充区分
表基础信息(表名、所属用户):USER_TABLES
字段明细(类型、长度、精度):USER_TAB_COLUMNS
字段注释:USER_COL_COMMENTS
表注释:USER_TAB_COMMENTS






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2