kommandot desc tolkas olika för olika verktyg. Vad den gör är att göra ett urval av några vanliga Oracle-vyer.
Här är en fråga om de vyer som ger önskad kolumndata, men jag uppmuntrar dig att välja * för att se allt som är tillgängligt.
Du har tre typer av vyer, dba_, all_ , och user_* vyer. Jag använder user_* eftersom det är tillgängligt för varje schema/användare, men det listar bara de objekt som ägs av det schemat/användaren. dba_-vyerna är vanligtvis endast för dba's, och all_-vyerna kanske eller kanske inte är tillgängliga för dig beroende på hur mycket din dba litar 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)