afhankelijk van de versie van SQL Server die u draait, kan de methode voor het opvragen en retourneren van een lijst van alle door de gebruiker gemaakte tabellen enigszins verschillen. Hieronder zullen we kort de TSQL statements bekijken die gebruikt kunnen worden om een tabellijst op te halen voor zowel de oudere SQL Server 2000 als de nieuwere 2005 versie of verder.,
tabellen weergeven in SQL Server 2000
voor oudere versies van SQL Server (zoals SQL Server 2000, hoewel deze methode ook wordt ondersteund in SQL Server 2005 voor achterwaartse compatibiliteit), moet u de SYS.SYSOBJECTS
metadataweergave opvragen. SYS.SYSOBJECTS
bevat een rij voor elk object dat in de database is aangemaakt, inclusief stored procedures
, views
, en user tables
(die belangrijk zijn om te onderscheiden van system tables
.,)
de SYSOBJECTS
tabel bevat een paar dozijn kolommen met gegevens, omdat het informatie moet bevatten over vrijwel alles wat na verloop van tijd aan de server is toegevoegd. Om een lijst met door de gebruiker gemaakte tabellen te vinden (dus system tables
negeren), moeten we resultaten vinden waarbij de xtype
kolom (die de object type
voor die rij specificeert) gelijk is aan de waarde U
, wat staat voor user table
., De resulterende TSQL-en verliesrekening ziet er als volgt uit:
SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO
Opmerking: SYSOBJECTS
zijn onderdeel van het SYS
naamruimte, bij het opvragen SYSOBJECTS
het is onnodig om aan te geven dat SYSOBJECTS
is een onderdeel van het wereldwijde SYS
naamruimte, zodat we kunnen weglaten, zoals in het voorbeeld hierboven.
Dit retourneert een resultatenlijst van alle door de gebruiker gemaakte tabellen., Aangezien de hoeveelheid informatie die bij het opvragen van alle kolommen is vrij groot, je kan wensen voor het bijsnijden van de resultaten door het bekijken van alleen de name
kolom en misschien de crdate
(datum van oprichting):
SELECT name, crdateFROM SYSOBJECTSWHERE xtype = 'U';GO
Lijst Tabellen in SQL Server 2005 of Nieuwer
een Lijst van alle tabellen in SQL server bij gebruik een nieuwere versie (SQL 2005 of hoger) is een kwestie van het zoeken in het INFORMATION_SCHEMA
standpunten die automatisch worden gebouwd in SQL Server., Hiermee kunt u eenvoudig een grote verscheidenheid aan metadata voor deze specifieke SQL Server-instantie bekijken, inclusief informatie over COLUMNS
, ROUTINES
, en zelfs TABLES
.
u kunt merken dat er vier kolommen worden geretourneerd wanneer u de INFORMATION_SCHEMA.TABLES
weergave gebruikt, maar de belangrijkste kolom is TABLE_TYPE
, die bepaalt of de tabel in die rij een werkelijke tabel is (BASE TABLE
) of een weergave (VIEW
).,
om terug Te keren alle tabellen en weergaven in een query uitvoeren de volgende TSQL-instructie:
SELECT *FROM INFORMATION_SCHEMA.TABLES;GO
Het kan ook verstandig zijn voor het specificeren van de database die u wilt query:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO
Als u alleen wilt ophalen actuele tabellen en filteren uitzicht van de resultaten, het toevoegen van een WHERE TABLE_TYPE = 'BASE TABLE'
component:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';GO