加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 如何使用desc操作显示列的注释

发布时间:2020-12-12 13:53:29 所属栏目:百科 来源:网络整理
导读:我想要表格;操作来显示列的注释。我看到有人实现了这一点,但是我无法找出如何。也许这取决于SQL Developer版本,我的是2.1.0.63。数据库是Oracle 11g。 这是我在做表格时得到的: Desc table; Name Nullable Type ------------------- -------- ----- ID NO
我想要表格;操作来显示列的注释。我看到有人实现了这一点,但是我无法找出如何。也许这取决于SQL Developer版本,我的是2.1.0.63。数据库是Oracle 11g。

这是我在做表格时得到的:

Desc table;
    Name                Nullable Type
    ------------------- -------- -----
    ID                  NOT NULL NUMBER(38)
    ITEM_ID                      NUMBER(38)

我想得到这样的东西:

Desc table;
    Name                Nullable Type        Comment
    ------------------- -------- ----------  ---------------------------------
    ID                  NOT NULL NUMBER(38)  Table's id
    ITEM_ID                      NUMBER(38)  Reference to an item
对于不同的工具,desc命令的解释不同。它做的是选择一些标准的Oracle视图。

这是一个关于这些视图的查询,它将提供所需的列数据,但我建议您执行select *以查看所有可用的列。

您有3种视图类型,即dba_,all_和user_ *视图。我使用user_ *,因为它可用于每个模式/用户,但它仅列出该模式/用户拥有的对象。 dba_视图通常仅适用于dba,并且all_视图可能或可能不适用于您,具体取决于您对dba的信任程度。 ^ _ ^

select tc.column_name,tc.nullable,tc.data_type || case when tc.data_type = 'NUMBER' and tc.data_precision is not null then '(' || tc.data_precision || ',' || tc.data_scale || ')'
                            when tc.data_type like '%CHAR%' then '(' || tc.data_length || ')'
                            else null
                       end type,cc.comments
from   user_col_comments cc
join   user_tab_columns  tc on  cc.column_name = tc.column_name
                            and cc.table_name  = tc.table_name
where  cc.table_name = upper(:tablename)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读