kommandoen desc fortolkes forskelligt for forskellige værktøjer. Hvad det gør, er at vælge nogle standard Oracle-visninger.
Her er en forespørgsel på de visninger, der vil give de ønskede kolonnedata, men jeg opfordrer dig til at vælge * for at se alt, hvad der er tilgængeligt.
Du har 3 typer visninger, dba_, alle_ , og bruger_* visninger. Jeg bruger user_*, fordi det er tilgængeligt for hvert skema/bruger, men det viser kun de objekter, der ejes af det pågældende skema/bruger. dba_-visningerne er typisk kun for dba'er, og alle_-visningerne er muligvis eller måske ikke tilgængelige for dig, afhængigt af hvor meget din dba'er stoler på dig. ^_^
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)