v Závislosti na verzi Serveru SQL používáte, metody pro dotazování a vrací seznam všech uživatelsky vytvořených tabulek mohou mírně lišit. Níže stručně prozkoumáme příkazy TSQL, které lze použít k načtení seznamu tabulek pro starší verzi SQL Server 2000 a novější verzi 2005 nebo dále.,
Výpis Tabulky v serveru SQL Server 2000
Pro starší verze serveru SQL Server (například SQL Server 2000, i když tato metoda je také podporována v SQL Server 2005 zpětné kompatibility), budete potřebovat k dotazu SYS.SYSOBJECTS
metadata zobrazení. SYS.SYSOBJECTS
obsahuje řádek pro každý objekt, který byl vytvořen v databázi, včetně stored procedures
views
user tables
(které jsou důležité odlišit od system tables
.,)
SYSOBJECTS
tabulka domy pár desítek sloupců dat, protože to musí mít informace o prakticky všechno přidáno na server v průběhu času. Proto, aby se najít seznam uživatelem vytvořených tabulek (tedy ignorování system tables
), budeme muset najít výsledky, kde xtype
sloupec (který určuje object type
pro daný řádek) je rovna hodnotě U
, což je zkratka pro user table
., Výsledný TSQL příkaz by měl vypadat takhle:
SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO
Poznámka: Vzhledem k tomu SYSOBJECTS
jsou součástí SYS
obor názvů, při dotazování SYSOBJECTS
je zbytečné uvádět, že SYSOBJECTS
je součástí globální SYS
obor názvů, takže můžeme vynechat, jako je uvedeno v příkladu výše.
tím se vrátí seznam výsledků všech tabulek vytvořených uživatelem., Vzhledem k množství informací vrácena při dotazu všechny sloupce je docela velký, možná budete chtít oříznout výsledky prohlížení pouze name
sloupce a možná crdate
(datum vytvoření):
SELECT name, crdateFROM SYSOBJECTSWHERE xtype = 'U';GO
Výpis Tabulky v serveru SQL Server 2005 nebo Novější
Seznam všech tabulek v serveru SQL server při použití novější verze SQL (2005 a vyšší) je otázkou dotazování INFORMATION_SCHEMA
názory, které jsou automaticky zabudovány do SQL Server., Ty vám umožní snadno zobrazit celou řadu metadat pro tuto konkrétní instanci serveru SQL Server, včetně informací o COLUMNS
ROUTINES
TABLES
.
můžete Si všimnout, že tam jsou čtyři sloupy se vrátil, když se pomocí INFORMATION_SCHEMA.TABLES
pohledu, ale nejdůležitější je sloupec TABLE_TYPE
, který určuje, zda je tabulka, v které řadě je aktuální tabulky (BASE TABLE
) nebo view (VIEW
).,
vrátit všechny tabulky a zobrazení v jednom dotazu, TSQL spusťte následující prohlášení:
SELECT *FROM INFORMATION_SCHEMA.TABLES;GO
To může také být moudré chcete-li určit databázi, kterou chcete dotaz:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO
Pokud chcete pouze obnovit aktuální tabulky a odfiltrovat názory z výsledků, přidejte WHERE TABLE_TYPE = 'BASE TABLE'
článek:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';GO