Mencari Tabel-Tabel yang Mempunyai Nama Field Tertentu dalam SQL Server

Mencari Tabel-Tabel yang Mempunyai Nama Field Tertentu dalam SQL Server
Dalam melakukan maintenance atau perawatan data dalam sebuah database yang digunakan oleh aplikasi yang telah berjalan, banyak hal yang harus anda ketahui untuk memudahkan dalam mengendalikan validitas data terutama yang berhubungan dengan adanya update atau edit data. Perubahan data tertentu, misalkan anda harus melakukan update atau edit data Kode Customer dari kode lama menjadi kode baru di seluruh tabel pada database yang terdapat field Kode Customer tersebut, sehingga validitas data akan terjamin.

Tentu anda tidak menginginkan adanya ketidak lengkapan dalam merubah data tersebut, misalkan ada 1 atau lebih dari tabel yang data fieldnya tidak ikut berubah. Untuk itu kita harus bisa mengetahui tabel mana saja yang terdapat nama field yang kita inginkan.

Tabel INFORMATION_SCHEMA.COLUMNS dan sys.column
Setiap kita membuat sebuah database dalam SQL Server secara otomatis, SQL akan membuat daftar berupa semua informasi tentang setruktur dan sekema dari tabel yang kita buat, baik itu nama tabel, nama field atau kolom, jenis field, serta masih banyak lagi informasi yang ada. Ada 2 tabel sistem yang berisi informasi tentang nama field yang telah kita buat dalam masing-masing tabel di database, yaitu INFORMATION_SCHEMA.COLUMNS dan sys.column.

Mencari Informasi Nama Field dengan SELECT
Untuk mencari nama tabel-tabel yang mengandung nama field tertentu sesuai dengan yang anda inginkan dapat dilakukan dengan cara membuat query menggunakan dua tabel sistem diatas yaitu dengan cara seperti query berikut ini:

SELECT COLUMN_NAME, TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%NamaField%'

Tentukan nama field yang akan anda cari dengan menuliskan nama field yang pada '%NamaField%', misalkan seperti query berikut ini:

SELECT COLUMN_NAME, TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%KodeCustomer%'


Cara lain adalah dengan mengambil data pada tabel sistem sys.column dengan cara seperti query berikut ini:

SELECT sc.name AS NamaField, st.name AS NamaTabel
FROM sys.columns sc
JOIN sys.tables st ON sc.object_id = st.object_id
WHERE sc.name LIKE '%KodeCustomer%'


Dengan cara tersebut dengan query tersebut diatas, maka anda akan mendapatkan data nama tabel yang valid dan tidak ada yang akan terselip, sehingga validitas data yang anda udate akan sempurna. Semoga artikel ini bermanfaat bagi anda.
Previous
Next Post »