私はdesc テーブル;列のコメントを表示する操作。何人かの人がこれを達成したのを見たことがありますが、方法がわかりませんでした。SQL Developer のバージョンによって異なる可能性があります。私のバージョンは 2.1.0.63 です。データベースは Oracle 11g です。
これが私がやった結果ですdesc テーブル;:
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
ベストアンサー1
desc コマンドはツールによって解釈が異なります。このコマンドは、いくつかの標準 Oracle ビューの選択を実行します。
以下は、必要な列データを提供するビューに対するクエリですが、利用可能なすべてのデータを確認するには、select * を実行することをお勧めします。
3種類のビューがあります。dba_、 全て_、および 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)