Kami memiliki database Oracle besar dengan banyak tabel. Adakah cara saya dapat melakukan kueri atau pencarian untuk menemukan jika ada tabel dengan nama kolom tertentu?
IE tunjukkan semua tabel yang memiliki kolom: id, fname, lname, address
Detail Saya lupa menambahkan: Saya harus dapat mencari melalui skema yang berbeda. Yang harus saya gunakan untuk menghubungkan tidak memiliki tabel yang perlu saya cari.
column_name
+like
jika Anda tidak yakin dengan nama persisnya:select owner, table_name, column_name from all_tab_columns where column_name like 'someField%';
Data yang Anda inginkan ada di tabel meta-data "cols":
Yang ini akan memberi Anda daftar tabel yang memiliki semua kolom yang Anda inginkan:
Untuk melakukan ini dalam skema yang berbeda, cukup tentukan skema di depan tabel, seperti di
Jika Anda ingin menggabungkan pencarian banyak skema menjadi satu hasil keluaran, maka Anda dapat melakukan ini:
sumber
SELECT * FROM COLS
tidak mengembalikan apa pun dari skema saya. Saya hanya memiliki hak pilih di tabel. Apakah pemilihan tidak cukup untuk memungkinkan saya melihatnya melalui COLS?select * from schema1.cols
memberi sayatable or view does not exist
kesalahan. Apakah itu ada hubungannya dengan cara mengatur hak istimewa?UNTUK mencari nama kolom gunakan query di bawah ini jika Anda mengetahui nama kolom secara akurat:
UNTUK mencari nama kolom jika Anda tidak tahu penggunaan kolom yang akurat di bawah ini:
sumber
Ini adalah salah satu yang telah kami simpan ke findcol.sql sehingga kami dapat menjalankannya dengan mudah dari dalam SQLPlus
sumber