Sdílet prostřednictvím


sp_tables (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí seznam objektů, které lze dotazovat v aktuálním prostředí. To znamená jakoukoli tabulku nebo pohled, kromě synonymních objektů.

Poznámka:

Pro určení názvu základního objektu synonyma se dotazujte do katalogu sys.synonyms .

Transact-SQL konvence syntaxe

Syntaxe

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 = ] 'Ntable_name'

Tabulka sloužila k vrácení informací z katalogu. @table_name je nvarchar(384), s výchozím hodnotou NULL. Je podporováno porovnávání vzorů divoké karty.

[ @table_owner = ] N'table_owner'

Vlastník tabulky se používal k vracení informací z katalogu. @table_owner je nvarchar(384), s výchozím hodnotou NULL. Je podporováno porovnávání vzorů divoké karty. Pokud vlastník není určen, platí výchozí pravidla viditelnosti tabulek v základním DBMS.

V SQL Serveru, pokud aktuální uživatel vlastní tabulku s tímto jménem, sloupce této tabulky se vrátí. Pokud vlastník není specifikován a aktuální uživatel nevlastní tabulku s tímto jménem, tento postup hledá tabulku s tímto jménem, kterou vlastní vlastník databáze. Pokud existuje, sloupce této tabulky se vrátí.

[ @table_qualifier = ] N'table_qualifier'

Název kvalifikanta na tabulce. @table_qualifier je sysname, s výchozím .NULL Různé produkty DBMS podporují třífázové pojmenování tabulek (<qualifier>.<owner>.<name>). V SQL Serveru tento sloupec představuje název databáze. V některých produktech představuje název serveru databázového prostředí tabulky.

[ @table_type = ] 'table_type'

Seznam hodnot, oddělený čárkami, který poskytuje informace o všech tabulkách specifikovaných typů tabulek. Patří mezi ně TABLE, SYSTEMTABLEa VIEW. @table_type je varchar(100), s výchozím hodnotou NULL.

Jednotlivé uvozovky musí uzavírat každý typ tabulky a dvojité uvozovky musí obsahovat celý parametr. Typy tabulek musí být velkými písmeny. Pokud SET QUOTED_IDENTIFIER je , ONmusí být každá jednotlivá uvozovka zdvojená a celý parametr musí být uzavřen do jedné uvozovky.

[ @fUsePattern = ] fUsePattern

Určuje, zda jsou znaky pod podtržítek (_), procento (%) a závorka ([ nebo ]) interpretovány jako žolíkové znaky. Platné hodnoty jsou 0 (pattern matching je vypnuté) a 1 (pattern matching je zapnuté). @fUsePattern je bit, s výchozím nastavením 1.

Hodnoty návratového kódu

Žádné.

Sada výsledků

Název sloupce Datový typ Description
TABLE_QUALIFIER sysname Název kvalifikátoru tabulky. V SQL Serveru tento sloupec představuje název databáze. Toto pole může být .NULL
TABLE_OWNER sysname Jméno majitele stolu. V SQL Serveru tento sloupec představuje jméno uživatele databáze, který tabulku vytvořil. Toto pole vždy vrací hodnotu.
TABLE_NAME sysname Název tabulky Toto pole vždy vrací hodnotu.
TABLE_TYPE varchar(32) Tabulka, systémová tabulka nebo pohled.
REMARKS varchar(254) SQL Server nevrací hodnotu pro tento sloupec.

Poznámky

Pro maximální interoperabilitu by klient brány měl přijímat pouze porovnávání vzorů podle standardu SQL SQL-92 (znaky % a _ jako žolík).

Informace o oprávněních ohledně aktuálního uživatelského přístupu ke čtení nebo zápisu ke konkrétní tabulce nejsou vždy kontrolovány. Proto přístup není zaručen. Tato sada výsledků zahrnuje nejen tabulky a pohledy, ale také synonyma a aliasy pro brány k produktům DBMS, které tyto typy podporují. Pokud je atribut ACCESSIBLE_TABLES serveru Y ve výsledné množině pro sp_server_info, vrátí se pouze tabulky, ke kterým má aktuální uživatel přístup.

sp_tables je ekvivalentní s v SQLTables ODBC. Výsledky vrácené jsou uspořádány podle TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER, a TABLE_NAME.

Povolení

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Examples

A. Vraťte seznam objektů, které lze dotazovat v aktuálním prostředí

Následující příklad vrací seznam objektů, které lze v aktuálním prostředí dotazovat.

EXECUTE sp_tables;

B. Vraťte informace o tabulkách ve specifikovaném schématu

Následující příklad vrací informace o tabulkách patřících do Person schématu v databázi AdventureWorks2025.

USE AdventureWorks2022;
GO

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

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

C. Vraťte seznam objektů, které lze dotazovat v aktuálním prostředí

Následující příklad vrací seznam objektů, které lze v aktuálním prostředí dotazovat.

EXECUTE sp_tables;

D. Vraťte informace o tabulkách ve specifikovaném schématu

Následující příklad vrací informace o tabulkách dimenzí v databázi AdventureWorksPDW2012 .

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