Der desc-Befehl wird für verschiedene Tools unterschiedlich interpretiert. Was es tut, ist eine Auswahl einiger standardmäßiger Oracle-Ansichten.
Hier ist eine Abfrage zu diesen Ansichten, die die gewünschten Spaltendaten liefert, aber ich empfehle Ihnen, eine Auswahl * zu machen, um alles zu sehen, was verfügbar ist.
Sie haben 3 Arten von Ansichten, die dba_, all_ und user_* Ansichten. Ich verwende user_*, weil das für jedes Schema/Benutzer verfügbar ist, aber es listet nur die Objekte auf, die diesem Schema/Benutzer gehören. Die dba_-Ansichten sind in der Regel nur für Datenbankadministratoren bestimmt, und die all_-Ansichten sind möglicherweise für Sie verfügbar oder nicht, je nachdem, wie sehr Ihre Datenbankadministratoren Ihnen vertrauen. ^_^
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)