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

前端之家收集整理的这篇文章主要介绍了oracle – 如何使用desc操作显示列的注释前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要表格;操作来显示列的注释。我看到有人实现了这一点,但是我无法找出如何。也许这取决于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)
原文链接:https://www.f2er.com/oracle/205823.html

猜你在找的Oracle相关文章