Aracılığıyla paylaş


sp_tables (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Mevcut ortamda sorgulanabilir nesnelerin listesini döndürür. Bu, eşanlamlı nesneler hariç herhangi bir tablo veya görünüm anlamına gelir.

Uyarı

Bir eşanlamlı temel nesnenin adını belirlemek için sys.synonyms katalog görünümünü sorgulayın.

Transact-SQL söz dizimi kuralları

Sözdizimi

Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW):

sp_tables
    [ [ @table_name = ] N'table_name' ]
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @table_type = ] 'table_type' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Arguments

[ @table_name = ] N'table_name'

Katalog bilgisini döndürmek için kullanılan tablo. @table_name, varsayılan olarak nvarchar(384)NULL'tür. Joker kart desen eşleştirmesi desteklenmektedir.

[ @table_owner = ] N'table_owner'

Tablonun sahibi katalog bilgilerini döndürmek için kullanılırdı. @table_ownernvarchar(384)'dür, varsayılan olarak NULL. Joker kart desen eşleştirmesi desteklenmektedir. Sahibi belirtilmemişse, temel DBMS'nin varsayılan tablo görünürlüğü kuralları geçerlidir.

SQL Server'da, mevcut kullanıcı belirtilen isimle bir tabloya sahipse, o tablonun sütunları döner. Eğer sahibi belirtilmemişse ve mevcut kullanıcı belirtilen isme sahip bir tabloya sahip değilse, bu prosedür veritabanı sahibine ait belirtilen isme sahip bir tablo arar. Eğer varsa, o tablonun sütunları geri döner.

[ @table_qualifier = ] N'table_qualifier'

Tablo nitelendirmesinin adı. @table_qualifiersysname'dir ve varsayılan olarak .NULL Çeşitli DBMS ürünleri, tablolar için üç bölümlü adlandırmayı destekler (<qualifier>.<owner>.<name>). SQL Server'da bu sütun veritabanı adını temsil eder. Bazı ürünlerde, tablonun veritabanı ortamının sunucu adını temsil eder.

[ @table_type = ] 'table_type'

Belirlenen tablo tiplerinin tüm tabloları hakkında bilgi veren bir değer listesi, virgülle ayrılmıştır. Bunlar , TABLEve SYSTEMTABLEiçerirVIEW. @table_typevarchar(100)'dür, varsayılan NULLolarak .

Tek tırnak işaretleri her tablo türünü kapsayacak ve çift tırnak işareti tüm parametreyi kaplamalıdır. Tablo türleri büyük harflerle olmalı. Eğer SET QUOTED_IDENTIFIER ise ON, her tek tırnak işareti iki katına çıkarılmalı ve tüm parametre tek tırnak içinde kapanmalıdır.

[ @fUsePattern = ] fUsePattern

Alt çizgi (_), yüzde (%) ve parantez ([ veya ]) karakterlerinin joker karakterler olarak yorumlanıp yorumlanmayacağını belirler. Geçerli değerler 0 (desen eşleştirmesi bozuk) ve 1 (desen eşleştirmesi açık). @fUsePatternbit'tir, varsayılan olarak .1

Dönüş kodu değerleri

Yok.

Sonuç kümesi

Sütun adı Veri türü Description
TABLE_QUALIFIER sysname Tablo niteleyici adı. SQL Server'da bu sütun veritabanı adını temsil eder. Bu alan olabilir NULL.
TABLE_OWNER sysname Masa sahibinin adı. SQL Server'da bu sütun, tabloyu oluşturan veritabanı kullanıcısının adını temsil eder. Bu alan her zaman bir değer döndürür.
TABLE_NAME sysname Tablo adı. Bu alan her zaman bir değer döndürür.
TABLE_TYPE varchar(32) Tablo, sistem tablosu veya görünüm.
REMARKS varchar(254) SQL Server bu sütun için bir değer döndürmez.

Açıklamalar

Maksimum birlikte çalışabilirlik için, gateway istemcisi yalnızca SQL-92 standardı SQL desen eşleştirmesini (% ve _ joker karakterler) varsaymalıdır.

Mevcut kullanıcının belirli bir tabloya okuma veya yazma erişimine ilişkin ayrıcalık bilgileri her zaman kontrol edilmez. Bu nedenle erişim garanti değildir. Bu sonuç seti, yalnızca tablolar ve görünümler değil, aynı zamanda DBMS ürünlerine giden bu türleri destekleyen geçit geçitleri için eşanlamlı ve takma adları da içerir. Eğer sunucu özniteliği ACCESSIBLE_TABLES , için sp_server_infosonuç kümesinde Y ise, yalnızca mevcut kullanıcının erişebileceği tablolar döner.

sp_tables ODBC'deki eşdeğerdir SQLTables . Sonuçlar , TABLE_TYPE, TABLE_QUALIFIER, ve TABLE_OWNERile TABLE_NAMEsıralanır.

Permissions

Katalog görünümlerindeki meta verilerin görünürlüğü, kullanıcının sahip olduğu veya kullanıcıya bazı izinlerin verildiği güvenli hale getirilebilir öğelerle sınırlıdır. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Örnekler

A. Mevcut ortamda sorgulanabilir nesnelerin listesini döndür

Aşağıdaki örnek, mevcut ortamda sorgulanabilir nesnelerin bir listesini geri getirir.

EXECUTE sp_tables;

B. Belirlenmiş bir şemadaki tablolar hakkında bilgi döndürün

Aşağıdaki örnek, AdventureWorks2025 veritabanındaki şemaya ait Person tablolar hakkında bilgi vermektedir.

USE AdventureWorks2022;
GO

EXECUTE sp_tables
    @table_name = '%',
    @table_owner = 'Person',
    @table_qualifier = 'AdventureWorks2022';

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

C. Mevcut ortamda sorgulanabilir nesnelerin listesini döndür

Aşağıdaki örnek, mevcut ortamda sorgulanabilir nesnelerin bir listesini geri getirir.

EXECUTE sp_tables;

D. Belirlenmiş bir şemadaki tablolar hakkında bilgi döndürün

Aşağıdaki örnek, veritabanındaki AdventureWorksPDW2012 boyut tabloları hakkında bilgi vermektedir.

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