lệnh desc được diễn giải khác nhau cho các công cụ khác nhau. Những gì nó làm là thực hiện một số chế độ xem tiêu chuẩn của Oracle.
Đây là một truy vấn về các chế độ xem đó sẽ cung cấp dữ liệu cột mong muốn, nhưng tôi khuyến khích bạn thực hiện chọn * để xem tất cả những gì có sẵn.
Bạn có 3 loại chế độ xem, dba_ all_ và user_ * lượt xem. Tôi sử dụng user_ * vì nó có sẵn cho mỗi giản đồ / người dùng, nhưng nó chỉ liệt kê các đối tượng thuộc sở hữu của lược đồ / người dùng đó. Các chế độ xem dba_ thường chỉ dành cho dba và các chế độ xem all_ có thể có sẵn hoặc không cho bạn tùy thuộc vào mức độ tin cậy của dba đối với bạn. ^ _ ^
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)