Megosztás a következőn keresztül:


sp_tables (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Olyan objektumok listáját ad vissza, amelyeket a jelenlegi környezetben lehet lekérdezni. Ez bármely táblát vagy nézetet jelent, kivéve a szinonim objektumokat.

Megjegyzés:

A szinonim alapobjektumának nevének meghatározásához kérdezzük a sys.synonyms katalógus nézetet.

Transact-SQL szintaxis konvenciók

Szemantika

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'

A táblázat a katalógusinformáció visszaadására szolgált. @table_namenvarchar(384), alapértelmezett értéke NULL. A vadkártya mintázatpárosítás támogatott.

[ @table_owner = ] N'table_owner'

A táblázat tulajdonosa a katalógusinformációt küldte vissza. @table_ownernvarchar(384), alapértelmezett értéke NULL. A vadkártya mintázatpárosítás támogatott. Ha a tulajdonos nincs megadva, az alap adatbázis alapértelmezett táblázat láthatósági szabályai érvényesek.

Az SQL Serverben, ha a jelenlegi felhasználó rendelkezik egy megadott nevű táblával, akkor az adott tábla oszlopai visszatérnek. Ha a tulajdonos nincs megadva, és a jelenlegi felhasználó nem rendelkezik a megadott nevű táblával, ez az eljárás olyan táblát keres, amely az adatbázis tulajdonosa által birtokolt nevű táblát keres. Ha létezik ilyen, akkor a táblázat oszlopai visszakerülnek.

[ @table_qualifier = ] N'table_qualifier'

A táblázat selejtező neve. @table_qualifiera sysname, alapértelmezésként NULL. Különböző adatbázis-alapú termékek háromrészes elnevezést támogatnak a táblákhoz (<qualifier>.<owner>.<name>). Az SQL Server esetében ez az oszlop az adatbázis nevét jelöli. Egyes termékekben ez a tábla adatbázis környezetének szervernevét képviseli.

[ @table_type = ] 'table_type'

Egy értéklista, amelyet vesszővel választanak el, és amely információkat ad az összes megadott táblázattípus táblájáról. Ezek közé tartoznak a következők: TABLE, SYSTEMTABLEés VIEW. @table_typea varchar(100), alapértelmezett értéke NULL.

Az egyes idézőjeleknek minden táblázattípust kell bezárnia, a dupla idézőjeleknek pedig az egész paramétert kell bezárnia. A táblázattípusoknak nagybetűkkel kell rendelkezniük. Ha SET QUOTED_IDENTIFIER az ON, minden idézőjelet meg kell duplázni, és az egész paramétert idézőjelben kell bevonni.

[ @fUsePattern = ] fUsePattern

Meghatározza, hogy az aláhúzott (_), százalékos (%) és zárójel ([ vagy ]) jeljel jelek vadkártyás karakterként értelmezhetők-e. Érvényes értékek: 0 (a mintapárosítás nem működik) és 1 (a mintapárosítás bekapcsolva). @fUsePatternbit, alapértelmezés 1szerint .

Kódértékek visszaadása

Nincs.

Eredményhalmaz

Oszlop név Adattípus Description
TABLE_QUALIFIER sysname Táblázat kvalifikátor neve. Az SQL Server esetében ez az oszlop az adatbázis nevét jelöli. Ez a mező lehet NULL.
TABLE_OWNER sysname Az asztaltulajdonos neve. Az SQL Server esetében ez az oszlop az adatbázis-felhasználó nevét jelöli, aki létrehozta a táblát. Ez a mező mindig értéket ad vissza.
TABLE_NAME sysname Tábla neve. Ez a mező mindig értéket ad vissza.
TABLE_TYPE Varchar(32) Táblázat, rendszertábla vagy nézet.
REMARKS Varchar(254) Az SQL Server nem ad vissza értéket ehhez az oszlophoz.

Megjegyzések

A maximális interoperabilitás érdekében a gateway kliensnek csak SQL-92-szabványos SQL mintázatpárosítást kell feltételeznie (az % és _ vadkártya karaktereket).

A jelenlegi felhasználó olvasási vagy írási hozzáférésének jogosultsági adatai egy adott táblához nem mindig kerülnek ellenőrződni. Ezért a hozzáférés nem garantált. Ez az eredménykészlet nemcsak táblázatokat és nézeteket tartalmaz, hanem szinonimákat és aliasokat is azoknak a DBMS termékekhez tartozó átjáróknak, amelyek támogatják ezeket a típusokat. Ha a szerver attribútuma ACCESSIBLE_TABLES Y az eredményhalmazban , sp_server_infocsak azokat a táblákat adják vissza, amelyeket a jelenlegi felhasználó elérhet.

sp_tablesaz ODBC-vel egyenértékű.SQLTables A visszaadott eredményeket , TABLE_TYPE, TABLE_QUALIFIER, és TABLE_OWNER. sorrendben TABLE_NAMErendezik.

Permissions

A katalógusnézetekben a metaadatok láthatósága olyan biztonságos adatokra korlátozódik, amelyek egy felhasználó tulajdonában vannak, vagy amelyeken a felhasználó engedélyt kapott. További információ: Metaadatok láthatóságának konfigurációja.

Példák

A. Küldj vissza egy listát azokról az objektumokról, amelyeket a jelenlegi környezetben lehet lekérdezni

A következő példa egy olyan objektumok listáját adja, amelyek a jelenlegi környezetben lekérdezések lehetnek.

EXECUTE sp_tables;

B. Információt adjunk vissza a táblákról egy meghatározott sémában

A következő példa visszaadja azokat a táblákat, amelyek a Person sémához tartoznak az AdventureWorks2025 adatbázisban.

USE AdventureWorks2022;
GO

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Küldj vissza egy listát azokról az objektumokról, amelyeket a jelenlegi környezetben lehet lekérdezni

A következő példa egy olyan objektumok listáját adja, amelyek a jelenlegi környezetben lekérdezések lehetnek.

EXECUTE sp_tables;

D. Információt adjunk vissza a táblákról egy meghatározott sémában

A következő példa az adatbázisban található dimenziótáblák AdventureWorksPDW2012 adatait adja vissza.

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