Lebih
Menemukan semua tabel yang berisi kolom dengan nama yang ditentukan - MS SQL Server
Apakah mungkin untuk query untuk nama tabel yang berisi kolom yang
LIKE '%myName%'
?
1072
24
Pencarian Tabel:
PencarianTabel & Views:**
Kita juga bisa menggunakan sintaks berikut:-
SQL Server:
Oracle:
Ini akan memberikan anda sedikit informasi tambahan tentang skema, tabel dan kolom yang anda mungkin atau mungkin tidak memilih untuk menggunakan tambahan kondisi dalam where clause untuk menyaring. Misalnya, jika anda hanya ingin melihat bidang yang harus memiliki nilai tambah
Anda bisa menambahkan conditional, saya juga menambahkan kolom pada klausa select ini cara vertikal sehingga mudah untuk menyusun ulang, menghapus, mengubah nama, atau menambahkan orang lain berdasarkan kebutuhan anda. Bergantian, anda dapat mencari hanya tabel dengan menggunakan T. Nama. Sangat disesuaikan.
Menikmati.
Ini harus bekerja:
Jika anda lebih ke alat pihak ketiga di sana banyak pilihan yang ada seperti:
Ini datang sangat berguna jika database anda berisi benda dienkripsi (pandangan, prosedur, fungsi) karena anda bisa dengan mudah mencari ini menggunakan sistem tabel.
Saya don't tahu mengapa begitu banyak dari anda menunjukkan Bergabung dengan
sys.tabel dengan sys.kolom
anda hanya dapat menggunakan kode di bawah ini:Select object_name(object_id) sebagai TableName,* from SYS.kolom dimana nama SEPERTI '%MyName%'
atau
Jika anda ingin nama skema seperti ini:
Jika anda hanya ingin nama tabel yang dapat anda jalankan:
Jika anda ingin Nama Skema serta (yang dalam banyak kasus, anda akan, seperti yang anda'll memiliki banyak skema yang berbeda, dan kecuali jika anda dapat mengingat setiap tabel dalam database dan di mana itu milik ini dapat berguna) jalankan:
dan akhirnya jika anda ingin yang lebih bagus format (meskipun ini adalah di mana kode (menurut saya) semakin terlalu rumit untuk memudahkan penulisan):
catatan anda juga dapat membuat fungsi berdasarkan apa yang saya miliki:
Perlu dicatat bahwa concat fitur yang ditambahkan pada tahun 2012. Untuk 2008r2 dan sebelumnya digunakan untuk menggabungkan string.
I've diformat ulang proc sedikit sejak saya memposting ini. It's sedikit lebih maju sekarang, tapi terlihat banyak messier (tetapi's di proc sehingga anda'll pernah melihatnya) dan's diformat baik.
Versi ini memungkinkan anda untuk memiliki itu dalam administrasi database dan kemudian cari melalui database. Mengubah decleration of
@db
dari'master'
ke mana anda ingin default database yang akan (CATATAN: menggunakan CONCAT() fungsi ini hanya akan bekerja dengan 2012+ kecuali jika anda mengubah string rangkaian untuk menggunakan+
operator).Itu adalah dari Pinal Pak Blog
Anda dapat menemukannya dari INFORMATION_SCHEMA.KOLOM dengan column_name filter
Query berikut ini akan memberikan anda tepat nama tabel dari database yang memiliki nama field seperti '%myName'.
Untuk mendapatkan informasi lengkap: nama kolom, tabel nama serta skema meja..
saya hanya mencoba ini dan ini bekerja dengan sempurna
Hanya perubahan YourDatbaseName untuk database anda dan YourcolumnName untuk kolom nama yang anda cari sisanya tetap seperti itu.
Harapan ini telah membantu
Saya menggunakan ini untuk tujuan yang sama dan bekerja:
Mudah-mudahan ini isn't duplikat menjawab, tapi apa yang saya ingin lakukan adalah menghasilkan pernyataan sql dalam sebuah pernyataan sql yang akan memungkinkan saya untuk mencari nilai-nilai yang saya cari (bukan hanya tabel dengan nama field ( seperti's biasanya diperlukan bagi saya untuk menghapus semua info yang terkait dengan id nama kolom saya mencari):
Kemudian saya dapat copy dan paste menjalankan saya 1 kolom "SQLToRun"... kemudian saya ganti "Select * from ' dengan 'Hapus dari ' dan itu memungkinkan saya untuk menghapus referensi yang diberikan ID! Menulis hasil-hasil ini ke file sehingga anda memiliki mereka hanya dalam kasus.
CATATAN**** pastikan anda menghilangkan bakup tabel sebelum anda menjalankan anda menghapus pernyataan...
Seperti oracle anda dapat menemukan tabel dan kolom dengan ini: