descコマンドは、ツールごとに解釈が異なります。いくつかの標準的なOracleビューを選択します。
目的の列データを提供するビューに関するクエリを次に示しますが、*を選択して、使用可能なすべてのデータを表示することをお勧めします。
ビューには、dba_ 、all _の3種類があります。 、およびuser_*ビュー。 user_ *を使用するのは、スキーマ/ユーザーごとに使用できるためですが、そのスキーマ/ユーザーが所有するオブジェクトのみが一覧表示されます。 dba_ビューは通常、dba専用であり、dbaがどれだけ信頼しているかに応じて、all_ビューを使用できる場合とできない場合があります。 ^ _ ^
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)