【oracle sql】一行流取Oracle某表的字段名、注释和排序号

【sql】

select a.column_name as name,a.column_id as order_num,b.comments as remark
from (select column_name,column_id from user_tab_columns where table_name=upper('test812')) a
left join (select column_name,comments from user_col_comments where table_name=upper('test812')) b
on a.column_name=b.column_name
order by a.column_id

【相对优势】

用Metadata去取表字段信息,对oracle数据库稍有别扭,这种利用字典表的方法更简单快捷。

【实验过程】

1.建表并加注释

复制代码
create table test812(
    id number(12),
    name nvarchar2(20),
    title varchar2(20),
    primary key(id)
);

comment on table test812 is '测试表812';
comment on column  test812.id  is '序列号';
comment on column  test812.name is '名称';
comment on column  test812.title is '职称';
复制代码

2.查询

复制代码
SQL> select a.column_name as name,a.column_id as order_num,b.comments as remark
  2  from (select column_name,column_id from user_tab_columns where table_name=upper('test812')) a
  3  left join (select column_name,comments from user_col_comments where table_name=upper('test812')) b
  4  on a.column_name=b.column_name
  5  order by a.column_id;

NAME                  ORDER_NUM REMARK
-------------------- ---------- --------------------
ID                            1 序列号
NAME                          2 名称
TITLE                         3 职称
复制代码

END

posted @   逆火狂飙  阅读(293)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2021-08-11 【我的作品】可视化算术表达式解析求值软件
2021-08-11 【Swing】动态添加组件后如何正确显示出来?
2014-08-11 使用MyEclipse创建可执行jar
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示