sp_tables (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan daftar objek yang dapat dikueri di lingkungan saat ini. Ini berarti tabel atau tampilan apa pun, kecuali objek sinonim.

Catatan

Untuk menentukan nama objek dasar sinonim, kueri tampilan katalog sys.synonyms .

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse  
  
sp_tables [ [ @table_name = ] 'name' ]   
     [ , [ @table_owner = ] 'owner' ]   
     [ , [ @table_qualifier = ] 'qualifier' ]   
     [ , [ @table_type = ] "type" ]   
     [ , [@fUsePattern = ] 'fUsePattern'];  

Argumen

[ @table_name = ] 'name' Apakah tabel digunakan untuk mengembalikan informasi katalog. nama adalah nvarchar(384), dengan default NULL. Pencocokan pola kartubebas didukung.

[ @table_owner = ] 'owner' Adalah pemilik tabel tabel yang digunakan untuk mengembalikan informasi katalog. owner adalah nvarchar(384), dengan default NULL. Pencocokan pola kartubebas didukung. Jika pemilik tidak ditentukan, aturan visibilitas tabel default dari DBMS yang mendasar berlaku.

Di SQL Server, jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, kolom tabel tersebut dikembalikan. Jika pemilik tidak ditentukan dan pengguna saat ini tidak memiliki tabel dengan nama yang ditentukan, prosedur ini mencari tabel dengan nama yang ditentukan yang dimiliki oleh pemilik database. Jika ada, kolom tabel tersebut akan dikembalikan.

[ @table_qualifier = ] 'qualifier' Adalah nama kualifikasi tabel. qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (kualifikasi.pemilik.nama). Di SQL Server, kolom ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.

[ , [ @table_type = ] "'type', 'type'" ] Adalah daftar nilai, dipisahkan oleh koma, yang memberikan informasi tentang semua tabel jenis tabel yang ditentukan. Ini termasuk TABLE, SYSTEMTABLE, dan VIEW. jenisnya adalah varchar(100), dengan default NULL.

Catatan

Tanda kutip tunggal harus mengapit setiap jenis tabel, dan tanda kutip ganda harus mengapit seluruh parameter. Jenis tabel harus huruf besar. Jika SET QUOTED_IDENTIFIER AKTIF, setiap tanda kutip tunggal harus digandakan dan seluruh parameter harus diapit dalam tanda kutip tunggal.

[ @fUsePattern = ] 'fUsePattern' Menentukan apakah karakter garis bawah ( _ ), persen ( % ), dan tanda kurung siku ( [ atau ] ) ditafsirkan sebagai karakter kartubebas. Nilai yang valid adalah 0 (pencocokan pola nonaktif) dan 1 (pencocokan pola aktif). fUsePatternadalah bit, dengan default 1.

Mengembalikan Nilai Kode

Tidak ada

Tataan Hasil

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi tabel. Di SQL Server, kolom ini mewakili nama database. Bidang ini bisa NULL.
TABLE_OWNER nama sysname Nama pemilik tabel. Di SQL Server, kolom ini mewakili nama pengguna database yang membuat tabel. Bidang ini selalu mengembalikan nilai.
TABLE_NAME nama sysname Nama tabel. Bidang ini selalu mengembalikan nilai.
TABLE_TYPE varchar(32) Tabel, tabel sistem, atau tampilan.
KOMENTAR varchar(254) SQL Server tidak mengembalikan nilai untuk kolom ini.

Keterangan

Untuk interoperabilitas maksimum, klien gateway hanya harus mengasumsikan pencocokan pola SQL standar SQL-92 (karakter kartubebas % dan _ ).

Informasi hak istimewa tentang akses baca atau tulis pengguna saat ini ke tabel tertentu tidak selalu diperiksa. Oleh karena itu akses tidak dijamin. Tataan hasil ini tidak hanya mencakup tabel dan tampilan, tetapi juga sinonim dan alias untuk gateway ke produk DBMS yang mendukung jenis tersebut. Jika atribut server ACCESSIBLE_TABLES adalah Y dalam hasil yang ditetapkan untuk sp_server_info, hanya tabel yang dapat diakses oleh pengguna saat ini yang dikembalikan.

sp_tables setara dengan SQLTables di ODBC. Hasil yang dikembalikan diurutkan berdasarkan TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER, dan TABLE_NAME.

Izin

Visibilitas metadata dalam tampilan katalog terbatas pada securable yang dimiliki pengguna atau di mana pengguna telah diberi beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Contoh

A. Mengembalikan daftar objek yang dapat dikueri di lingkungan saat ini

Contoh berikut mengembalikan daftar objek yang bisa menjadi kueri di lingkungan saat ini.

EXEC sp_tables ;  

B. Mengembalikan informasi tentang tabel dalam skema tertentu

Contoh berikut mengembalikan informasi tentang tabel milik Person skema dalam database AdventureWorks2012.

USE AdventureWorks2012;  
GO  
EXEC sp_tables   
   @table_name = '%',  
   @table_owner = 'Person',  
   @table_qualifier = 'AdventureWorks2012';  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Mengembalikan daftar objek yang dapat dikueri di lingkungan saat ini

Contoh berikut mengembalikan daftar objek yang bisa menjadi kueri di lingkungan saat ini.

EXEC sp_tables ;  

D. Mengembalikan informasi tentang tabel dalam skema tertentu

Contoh berikut mengembalikan informasi tentang tabel dimensi dalam AdventureWorksPDW201 database.

-- Uses AdventureWorks  
  
EXEC sp_tables   
   @table_name = 'Dim%',  
   @table_owner = 'dbo',  
   @table_qualifier = 'AdventureWorksPDW2012';  

Lihat juga

sys.synonyms (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)