Apa Masalahnya?
Saat menulis kueri untuk database yang mungkin baru Anda gunakan, atau yang sering berubah, Anda mungkin ingin menjalankan pemeriksaan cepat untuk menemukan semua tabel dalam database tertentu, atau kolom dalam database, atau untuk mencari apakah tabel atau kolom ada.
Mengapa Ini Masalah?
Memahami skema dan tabel apa yang ada di dalamnya membantu menulis SQL yang efisien dan membantu menghindari menjalankan kueri beberapa kali hanya untuk melihat apakah nama skema atau nama kolom sudah benar.
Tutorial ini akan membantu memecahkan masalah ini.
Menggunakan Skema Informasi
Menanyakan metadata pada sumber data adalah cara termudah untuk menentukan susunan tabel jika Anda belum memahaminya. Microsoft SQL Server menyediakan tampilan skema informasi sebagai salah satu dari beberapa metode untuk mendapatkan metadata ini. Seperti yang dinyatakan oleh dokumentasi dukungan mereka, “Tampilan skema informasi menyediakan tampilan internal, tabel sistem yang independen dari metadata SQL Server. Tampilan skema informasi memungkinkan aplikasi bekerja dengan benar meskipun perubahan signifikan telah dilakukan pada tabel sistem yang mendasarinya.”
Kami akan menggunakan beberapa tampilan dalam skema informasi untuk menjalankan kueri yang membantu menentukan susunan tabel di sumber data.
Untuk Menampilkan TABLES
dan COLUMNS
dalam database atau temukan TABLES
dan COLUMNS
.
Kueri pertama ini akan mengembalikan semua tabel dalam database yang Anda kueri.
SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
Kueri kedua akan mengembalikan daftar semua kolom dan tabel dalam database yang Anda kueri.
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
Atau, Anda juga dapat menanyakan hanya COLUMNS
dari tabel tertentu dan mengembalikan nama kolom dari tabel tertentu 'Album' di database kami.
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Album'
Dengan query selanjutnya ini anda dapat mengetahui ada atau tidaknya TABLE
di sumber data yang cocok dengan beberapa jenis parameter penelusuran.
IF EXISTS(
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME = 'Album'
)
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;
Kueri akan mengembalikan kata 'ditemukan' jika tabel 'Album' ada di database kami.
Sekarang untuk melangkah lebih jauh, Anda dapat menggunakan kueri ini untuk mengetahui apakah ada COLUMN
atau tidak. di sumber data yang cocok dengan beberapa jenis parameter penelusuran.
IF EXISTS(
SELECT
*
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME = 'Title'
)
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;
Memanfaatkan INFORMATION_SCHEMA
tampilan di sumber data Anda dapat menjadi cara yang andal untuk menentukan apa yang ada di sumber data saat Anda membuat kueri.
Untuk informasi lebih lanjut tentang Tampilan Skema Informasi Sistem SQL Server Microsoft, silakan baca lebih lanjut dari dokumen dukungan mereka.