Bergantung pada versi SQL Server yang Anda jalankan, metode untuk membuat kueri dan mengembalikan daftar semua tabel yang dibuat pengguna mungkin sedikit berbeda. Di bawah ini kami akan memeriksa secara singkat pernyataan TSQL yang dapat digunakan untuk mengambil daftar tabel untuk SQL Server 2000 yang lebih lama dan versi 2005 yang lebih baru atau lebih.
Mencantumkan Tabel di SQL Server 2000
Untuk versi SQL Server yang lebih lama (seperti SQL Server 2000, meskipun metode ini juga didukung di SQL Server 2005 untuk kompatibilitas mundur), Anda harus menanyakan SYS.SYSOBJECTS
tampilan metadata. SYS.SYSOBJECTS
berisi baris untuk setiap objek yang telah dibuat dalam database, termasuk stored procedures
, views
, dan user tables
(yang penting untuk dibedakan dari system tables
.)
SYSOBJECTS
tabel menampung beberapa lusin kolom data karena harus menyimpan informasi tentang hampir semua yang ditambahkan ke server dari waktu ke waktu. Oleh karena itu, untuk menemukan daftar tabel yang dibuat pengguna (dengan demikian mengabaikan system tables
), kita harus menemukan hasil di mana xtype
kolom (yang menentukan object type
untuk baris itu) sama dengan nilai U
, yang merupakan singkatan dari user table
. Pernyataan TSQL yang dihasilkan akan terlihat seperti ini:
SELECT
*
FROM
SYSOBJECTS
WHERE
xtype = 'U';
GO
Catatan:Sejak SYSOBJECTS
adalah bagian dari SYS
namespace, saat menanyakan SYSOBJECTS
tidak perlu menentukan SYSOBJECTS
adalah bagian dari SYS
global global namespace, sehingga kita dapat menghilangkannya seperti yang ditunjukkan pada contoh di atas.
Ini akan mengembalikan daftar hasil dari semua tabel yang dibuat pengguna. Karena jumlah informasi yang dikembalikan saat menanyakan semua kolom cukup besar, Anda mungkin ingin memangkas hasilnya dengan hanya melihat name
kolom dan mungkin crdate
(tanggal pembuatan):
SELECT
name,
crdate
FROM
SYSOBJECTS
WHERE
xtype = 'U';
GO
Mencantumkan Tabel di SQL Server 2005 atau Lebih Baru
Membuat daftar semua tabel di SQL server saat menggunakan versi yang lebih baru (SQL 2005 atau yang lebih baru) adalah masalah kueri INFORMATION_SCHEMA
tampilan yang secara otomatis dibangun ke dalam SQL Server. Ini memungkinkan Anda untuk dengan mudah melihat berbagai macam metadata untuk contoh SQL Server tertentu, termasuk informasi tentang COLUMNS
, ROUTINES
, dan bahkan TABLES
.
Anda mungkin memperhatikan bahwa ada empat kolom yang ditampilkan saat menggunakan INFORMATION_SCHEMA.TABLES
lihat, tetapi kolom yang paling penting adalah TABLE_TYPE
, yang menentukan apakah tabel di baris tersebut adalah tabel sebenarnya (BASE TABLE
) atau tampilan (VIEW
).
Untuk mengembalikan semua tabel dan dilihat dalam satu kueri, jalankan pernyataan TSQL berikut:
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES;
GO
Mungkin juga bijaksana untuk menentukan database yang ingin Anda kueri:
SELECT
*
FROM
databaseName.INFORMATION_SCHEMA.TABLES;
GO
Jika Anda hanya ingin mengambil tabel yang sebenarnya dan memfilter tampilan dari hasil, tambahkan WHERE TABLE_TYPE = 'BASE TABLE'
klausa:
SELECT
*
FROM
databaseName.INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = 'BASE TABLE';
GO