oracle 看所有字段信息

本文详细解析了数据库元数据查询语句及其注释应用,包括基础查询和特定表的字段信息,以及如何为字段添加描述性注释。通过SQL查询展示了如何获取表的名称、字段类型、是否允许为空等关键属性,并介绍了如何为特定字段添加注释,以提高代码可读性和维护性。

--看所有字段信息
select a.*
  from mw_sys.MWT_OM_ATTR a, mw_sys.mwt_om_cls b
 where a.cls_id = b.cls_id
   and b.cls_tabname = 'PM_BZ_DDRZ_YCQX'
 order by a.attr_dispidx
         
--看基础四项
select a.attr_colname, --字段列名
       dbit_id || decode(attr_kind,
                         'D',
                         decode(attr_collength, 0, '',
                                '(' || attr_collength ||
                                decode(attr_colscale, 0, ')',
                                       ',' || attr_colscale || ')')), '') attr_kind, --数据类型
       decode(attr_isnullable, 'T', 'Y', 'N') isnullable, --是否为空
       a.attr_name --属性名
  from mw_sys.MWT_OM_ATTR a, mw_sys.mwt_om_cls b
 where a.cls_id = b.cls_id
   and b.cls_tabname = 'PM_NW_ZH_TCLB'
 order by a.attr_dispidx;

--加注释
--comment on column pm_nw_zh_tclb.nf is '年份';
select 'comment on column PM_NW_SW_FDJZTCTJ.'||a.attr_colname||' is '''||a.attr_name||''';'
  from mw_sys.MWT_OM_ATTR a, mw_sys.mwt_om_cls b
 where a.cls_id = b.cls_id
   and b.cls_tabname = 'PM_NW_SW_FDJZTCTJ'
 order by a.attr_dispidx;

Oracle 数据库中,若需查询某个表的所有字段名(列名),可以通过系统数据字典视图 `USER_TAB_COLUMNS` 来实现。该视图包含当前用户所拥有表的列信息,包括字段名称、数据类型、是否可为空等。 以下是一个示例 SQL 查询语句,用于获取指定表的所有字段名: ```sql SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'YOUR_TABLE_NAME' ORDER BY COLUMN_ID; ``` - `YOUR_TABLE_NAME` 需替换为实际要查询的表名。 - `COLUMN_NAME` 表示字段名。 - `COLUMN_ID` 用于保证字段按照定义顺序输出。 如果还需要同时显示字段的注释信息,则可以结合 `USER_COL_COMMENTS` 视图进行左连接查询[^1]: ```sql SELECT tc.COLUMN_NAME, cc.COMMENTS AS column_comment FROM USER_TAB_COLUMNS tc LEFT JOIN USER_COL_COMMENTS cc ON tc.TABLE_NAME = cc.TABLE_NAME AND tc.COLUMN_NAME = cc.COLUMN_NAME WHERE tc.TABLE_NAME = 'YOUR_TABLE_NAME' ORDER BY tc.COLUMN_ID; ``` 此查询将返回字段名及其对应的注释内容,便于进一步理解字段用途。 ### 查询所有字段的数据类型与约束信息 若需要更详细的信息,例如字段的数据类型、是否为主键或非空约束,可通过关联 `USER_CONSTRAINTS` 和 `USER_CONS_COLUMNS` 视图来扩展查询范围[^1]: ```sql SELECT tc.COLUMN_NAME, tc.DATA_TYPE, CASE WHEN cons.CONSTRAINT_TYPE = 'P' THEN 1 ELSE 0 END AS is_primary_key, CASE WHEN tc.NULLABLE = 'N' THEN 1 ELSE 0 END AS is_not_null FROM USER_TAB_COLUMNS tc LEFT JOIN USER_CONS_COLUMNS concol ON tc.TABLE_NAME = concol.TABLE_NAME AND tc.COLUMN_NAME = concol.COLUMN_NAME LEFT JOIN USER_CONSTRAINTS cons ON concol.CONSTRAINT_NAME = cons.CONSTRAINT_NAME WHERE tc.TABLE_NAME = 'YOUR_TABLE_NAME' ORDER BY tc.COLUMN_ID; ``` 以上语句将提供字段名、数据类型、是否主键以及是否非空等关键信息,适用于数据库结构分析和文档生成场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值