командата desc се тълкува различно за различните инструменти. Това, което прави, е да избира някои стандартни изгледи на Oracle.
Ето заявка за тези изгледи, които ще осигурят желаните данни в колоната, но ви препоръчвам да изберете *, за да видите всичко, което е налично.
Имате 3 типа изгледи, dba_, всички_ , и user_* изгледи. Използвам user_*, защото това е достъпно за всяка схема/потребител, но изброява само обектите, притежавани от тази схема/потребител. Изгледите на dba_ обикновено са само за dba, а всички_ изгледи може да са или да не са достъпни за вас в зависимост от това колко ви има доверие на 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)