la commande desc est interprétée différemment pour différents outils. Ce qu'il fait, c'est faire une sélection de certaines vues standard d'Oracle.
Voici une requête sur ces vues qui fournira les données de colonne souhaitées, mais je vous encourage à faire une sélection * pour voir tout ce qui est disponible.
Vous avez 3 types de vues, les dba_, all_ , et user_* vues. J'utilise user_* car il est disponible pour chaque schéma/utilisateur, mais il répertorie uniquement les objets appartenant à ce schéma/utilisateur. Les vues dba_ sont généralement réservées aux dba, et les vues all_ peuvent ou non être disponibles pour vous en fonction de la confiance que vous accordent vos 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)