polecenie desc jest różnie interpretowane dla różnych narzędzi. To, co robi, to wybór niektórych standardowych widoków Oracle.
Oto zapytanie dotyczące tych widoków, które dostarczą żądane dane kolumn, ale zachęcam do zaznaczenia *, aby zobaczyć wszystko, co jest dostępne.
Masz 3 rodzaje widoków, dba_, wszystkie_ i widoki user_*. Używam user_*, ponieważ jest to dostępne dla każdego schematu/użytkownika, ale wyświetla tylko obiekty należące do tego schematu/użytkownika. Widoki dba_ są zazwyczaj tylko dla dba, a widoki all_ mogą być lub mogą nie być dla Ciebie dostępne, w zależności od tego, jak bardzo ufa Ci Twój 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)