Anda mencari USER_TAB_COLUMNS
- semua kolom, dan deskripsinya dalam skema tempat kueri dieksekusi - atau ALL_TAB_COLUMNS
- sama kecuali untuk semua tabel yang diizinkan untuk dilihat oleh pengguna.
Kueri tipikal mungkin:
select *
from user_tab_columns
where table_name = 'MY_TABLE'
order by column_id
column_id
adalah "urutan" kolom dalam tabel.
Anda harus memastikan bahwa 'MY_TABLE' dikapitalisasi kecuali Anda telah menambahkan tabel dengan casing ( ide yang buruk ) dalam hal ini Anda perlu menggunakan sesuatu seperti = "MyTable"
.
Khususnya desc
setara dengan yang berikut ini yang saya curi dari ss64, sumber daya Oracle yang bagus:
select column_name as "Name"
, nullable as "Null?"
, concat(concat(concat(data_type,'('),data_length),')') as "Type"
from user_tab_columns
where table_name = 'MY_TABLE';
Anda dapat menemukan semua jenis tampilan ini dengan select * from dictionary
, yang merupakan tingkat atas kamus data atau dengan melihat dokumentasi.
Ada juga DBA_TAB_COLUMNS
, yang sama dengan ALL_TAB_COLUMNS
, tetapi untuk setiap tabel dalam database. Ini mengasumsikan bahwa Anda memiliki hak istimewa untuk melihatnya dan tabelnya. Jika Anda tidak memiliki akses ke tabel ini, Anda perlu meminta DBA untuk memberi Anda SELECT ANY DICTIONARY
hak istimewa.