Udostępnij za pomocą


sp_tables (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca listę obiektów, które można zapytać w bieżącym środowisku. Oznacza to dowolną tabelę lub widok, z wyjątkiem obiektów synonimowych.

Uwaga / Notatka

Aby określić nazwę obiektu bazowego synonimu, zapytaj w widoku katalogu sys.synonyms .

Transact-SQL konwencje składni

Składnia

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'

Tabela służąca do zwracania informacji katalogowych. @table_name to nvarchar(384), z domyślnym obciążeniem NULL. Obsługiwane jest dopasowanie wzorców dzikich.

[ @table_owner = ] N'table_owner'

Właściciel tabeli służył do zwracania informacji z katalogu. @table_owner to nvarchar(384), z domyślnym obciążeniem NULL. Obsługiwane jest dopasowanie wzorców dzikich. Jeśli właściciel nie jest określony, domyślne reguły widoczności tabel bazowego DBMS mają zastosowanie.

W SQL Server, jeśli aktualny użytkownik posiada tabelę o podanej nazwie, kolumny tej tabeli są zwracane. Jeśli właściciel nie jest określony, a obecny użytkownik nie posiada tabeli o określonej nazwie, procedura ta szuka tabeli o określonej nazwie, należącej do właściciela bazy danych. Jeśli taki istnieje, kolumny tej tabeli są zwracane.

[ @table_qualifier = ] N'table_qualifier'

Nazwa kwalifikatora tabeli. @table_qualifier to nazwa systemu, z domyślnym obciążeniem NULL. Różne produkty DBMS obsługują trzyczęściowe nazewnictwo tabel (<qualifier>.<owner>.<name>). W SQL Server ta kolumna oznacza nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego tabeli.

[ @table_type = ] 'table_type'

Lista wartości, oddzielona przecinkami, która zawiera informacje o wszystkich tabelach typów tabel określonych w formie. Należą do nich TABLE: , SYSTEMTABLEi VIEW. @table_type to varchar(100), z domyślnym .NULL

Pojedyncze cudzysłowy muszą zawierać każdy typ tabeli, a podwójne cudzysłowy muszą zawierać cały parametr. Typy tabel muszą być pisane wielkimi literami. Jeśli SET QUOTED_IDENTIFIER jest , ONkażdy pojedynczy cudzysłow musi być podwojony, a cały parametr musi być otoczony pojedynczymi cudzysłowami.

[ @fUsePattern = ] fUsePattern

Określa, czy znaki podkreśleń (_), procent (%) i nawiasów ([ lub ]) są interpretowane jako znaki dziki. Poprawne wartości to 0 (dopasowywanie wzorców jest wyłączone) oraz 1 (dopasowanie wzorców jest włączone). @fUsePattern jest bit, z domyślnym .1

Zwracanie wartości kodu

Żaden.

Zestaw wyników

Nazwa kolumny Typ danych Description
TABLE_QUALIFIER sysname Nazwa kwalifikatora tabeli. W SQL Server ta kolumna oznacza nazwę bazy danych. To ciało może być .NULL
TABLE_OWNER sysname Nazwisko właściciela stołu. W SQL Server ta kolumna reprezentuje nazwę użytkownika bazy danych, który stworzył tabelę. To pole zawsze zwraca wartość.
TABLE_NAME sysname Nazwa tabeli. To pole zawsze zwraca wartość.
TABLE_TYPE varchar(32) Tabela, tabela systemowa lub widok.
REMARKS varchar(254) SQL Server nie zwraca wartości dla tej kolumny.

Uwagi

Dla maksymalnej interoperacyjności klient bramy powinien przyjmować jedynie dopasowanie wzorców SQL standardu SQL-92 (znaki dzikich % i _).

Informacje o uprawnieniach dotyczących dostępu do odczytu lub zapisu przez obecnego użytkownika do konkretnej tabeli nie zawsze są sprawdzane. Dlatego dostęp nie jest gwarantowany. Ten zestaw wyników obejmuje nie tylko tabele i widoki, ale także synonimy i aliasy bram do produktów DBMS obsługujących te typy. Jeśli atrybut ACCESSIBLE_TABLES serwera to Y w zbiorze wyników dla sp_server_info, zwracane są tylko tabele, do których aktualny użytkownik może mieć dostęp.

sp_tables jest równoważna w SQLTables ODBC. Wyniki zwracane są uporządkowane według TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER, oraz TABLE_NAME.

Permissions

Widoczność metadanych w widokach katalogu jest ograniczona do obiektów, których właścicielem jest użytkownik lub w stosunku do których użytkownik ma jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Przykłady

A. Zwróć listę obiektów, które można zapytać w aktualnym środowisku

Poniższy przykład zwraca listę obiektów, które mogą być zapytaniami w bieżącym środowisku.

EXECUTE sp_tables;

B. Zwracaj informacje o tabelach w określonym schemacie

Poniższy przykład zwraca informacje o tabelach należących do Person schematu w bazie danych AdventureWorks2025.

USE AdventureWorks2022;
GO

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

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Zwróć listę obiektów, które można zapytać w aktualnym środowisku

Poniższy przykład zwraca listę obiektów, które mogą być zapytaniami w bieżącym środowisku.

EXECUTE sp_tables;

D. Zwracaj informacje o tabelach w określonym schemacie

Poniższy przykład zwraca informacje o tabelach wymiarowych w bazie AdventureWorksPDW2012 danych.

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