sp_tables (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar en lista över objekt som kan frågas i den aktuella miljön. Detta gäller vilken tabell eller vy som helst, förutom synonymobjekt.

Anmärkning

För att bestämma namnet på basobjektet för en synonym, fråga katalogvyn sys.synonyms .

Transact-SQL syntaxkonventioner

Syntax

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'

Tabellen som används för att returnera kataloginformation. @table_name är nvarchar(384), med en standard på NULL. Wildcard-mönstermatchning stöds.

[ @table_owner = ] N'table_owner'

Bordsägaren till tabellen används för att returnera kataloginformation. @table_owner är nvarchar(384), med en standard på NULL. Wildcard-mönstermatchning stöds. Om ägaren inte anges gäller standardreglerna för tabellsynlighet för den underliggande databasen.

I SQL Server, om den nuvarande användaren äger en tabell med det angivna namnet, returneras kolumnerna i den tabellen. Om ägaren inte är specificerad och den nuvarande användaren inte äger en tabell med det angivna namnet, letar denna procedur efter en tabell med det angivna namnet som ägs av databasägaren. Om en sådan finns, returneras kolumnerna i den tabellen.

[ @table_qualifier = ] N'table_qualifier'

Namnet på bordets kvalificerade. @table_qualifier är sysname, med standardvärdet .NULL Olika DBMS-produkter stödjer tredelad namngivning för tabeller (<qualifier>.<owner>.<name>). I SQL Server representerar denna kolumn databasens namn. I vissa produkter representerar den servernamnet på tabellens databasmiljö.

[ @table_type = ] 'table_type'

En lista med värden, separerade med kommatecken, som ger information om alla tabeller över de tabelltyper som specificeras. Dessa inkluderar TABLE, SYSTEMTABLEoch VIEW. @table_type är varchar(100), med en standard på NULL.

Enkla citattecken måste omsluta varje tabelltyp, och dubbla citattecken måste omsluta hela parametern. Tabelltyper måste vara versaler. Om SET QUOTED_IDENTIFIER är ON, måste varje enskilt citattecken fördubblas och hela parametern måste omslutas av enkla citattecken.

[ @fUsePattern = ] fUsePattern

Avgör om understrecket (_), procent (%) och parentesen ([ eller ]) tolkas som jokertecken. Giltiga värden är 0 (mönsterigenkänning är av) och 1 (mönstermatchning är på). @fUsePattern är bit, med standardvärdet .1

Returnera kodvärden

Ingen.

Resultatuppsättning

Kolumnnamn Datatyp Description
TABLE_QUALIFIER sysname Bordskvalificeringsnamn. I SQL Server representerar denna kolumn databasens namn. Detta fält kan vara NULL.
TABLE_OWNER sysname Bordägarens namn. I SQL Server representerar denna kolumn namnet på databasanvändaren som skapade tabellen. Detta fält returnerar alltid ett värde.
TABLE_NAME sysname Tabellnamn. Detta fält returnerar alltid ett värde.
TABLE_TYPE Varchar(32) Tabell, systemtabell eller vy.
REMARKS Varchar(254) SQL Server returnerar inget värde för denna kolumn.

Anmärkningar

För maximal interoperabilitet bör gateway-klienten endast anta SQL-92-standard SQL-mönstermatchning (jokertecknen % och _ som jokertecken).

Behörighetsinformation om den nuvarande användarens läs- eller skrivbehörighet till en specifik tabell kontrolleras inte alltid. Därför är tillgång inte garanterad. Denna resultatuppsättning inkluderar inte bara tabeller och vyer, utan även synonymer och alias för gateways till DBMS-produkter som stödjer dessa typer. Om serverattributet ACCESSIBLE_TABLES är Y i resultatsättet för sp_server_info, returneras endast tabeller som kan nås av den aktuella användaren.

sp_tables motsvarar SQLTables i ODBC. De returnerade resultaten är ordnade efter TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER, och TABLE_NAME.

Permissions

Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. För mer information, se inställningar för metadatasynlighet.

Examples

A. Returnera en lista över objekt som kan frågas i den aktuella miljön

Följande exempel ger en lista över objekt som kan vara frågor i den aktuella miljön.

EXECUTE sp_tables;

B. Returnera information om tabellerna i ett specificerat schema

Följande exempel ger information om tabellerna som tillhör schemat Person i AdventureWorks2025-databasen.

USE AdventureWorks2022;
GO

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

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

C. Returnera en lista över objekt som kan frågas i den aktuella miljön

Följande exempel ger en lista över objekt som kan vara frågor i den aktuella miljön.

EXECUTE sp_tables;

D. Returnera information om tabellerna i ett specificerat schema

Följande exempel ger information om dimensionstabellerna i databasen AdventureWorksPDW2012 .

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