în funcție de versiunea SQL Server pe care o executați, metoda de interogare și returnarea unei liste cu toate tabelele create de utilizator poate diferi ușor. Mai jos vom examina pe scurt declarațiile TSQL care pot fi utilizate pentru a prelua o listă de tabele atât pentru SQL Server 2000 mai vechi, cât și pentru cea mai nouă versiune 2005 sau dincolo.,

Lista Tabelelor în SQL Server 2000

Pentru versiunile mai vechi de SQL Server (cum ar fi SQL Server 2000, deși această metodă este, de asemenea, susținută în SQL Server 2005 pentru compatibilitate), veți avea nevoie pentru a interoga SYS.SYSOBJECTS metadate vedere. SYS.SYSOBJECTS conține un rând pentru fiecare obiect care a fost creat în baza de date, inclusiv stored procedures, views și user tables (care sunt un important să se distingă de la system tables.,)

tabelulSYSOBJECTS găzduiește câteva zeci de coloane de date, deoarece trebuie să dețină informații despre aproape tot ce a fost adăugat pe server în timp. Prin urmare, pentru a găsi o listă de utilizator creat tabele (ignorând astfel system tables), vom avea nevoie pentru a găsi în cazul în care rezultatele xtype coloana (care specifică object type pentru că rând) este egal cu valoarea U, care vine de la user table., Rezultate TSQL declarație ar trebui să arate astfel:

SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO

Notă: Deoarece SYSOBJECTS fac parte din SYS nume, atunci când interogarea SYSOBJECTS nu este necesar să se precizeze că SYSOBJECTS este parte a global SYS nume, astfel încât să putem omite așa cum se arată în exemplul de mai sus.

aceasta va returna o listă de rezultate a tuturor tabelelor create de utilizatori., Deoarece cantitatea de informații a revenit atunci când interogarea toate coloanele este destul de mare, ați putea dori să tăiați rezultate prin vizualizarea numai name coloană și, probabil, crdate (data creării):

SELECT name, crdateFROM SYSOBJECTSWHERE xtype = 'U';GO

Lista Tabelelor în SQL Server 2005 sau mai Nou

Lista tuturor tabelelor în SQL server atunci când se utilizează o versiune mai nouă (SQL 2005 sau mai mare) este o chestiune de interogarea INFORMATION_SCHEMA opinii care sunt în mod automat construit în SQL Server., Acestea vă permit să vizualizați cu ușurință o varietate largă de metadate pentru această instanță de SQL Server, inclusiv informații despre COLUMNS, ROUTINES, și TABLES.

este posibil să observați că există patru coloane returnate atunci când se utilizează INFORMATION_SCHEMA.TABLES vedere, dar cel mai important coloana este TABLE_TYPE, care determină dacă tabelul în acel rând este o masă reală (BASE TABLE) sau un view (VIEW).,

Pentru a reveni toate tabele și vizualizări într-o singură interogare, executa următoarele TSQL declarație:

SELECT *FROM INFORMATION_SCHEMA.TABLES;GO

Acesta poate fi, de asemenea, întelept pentru a specifica baza de date pe care doriți să interogare:

SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO

Dacă doriți doar pentru a prelua real tabele și filtra vedere la rezultate, se adaugă un WHERE TABLE_TYPE = 'BASE TABLE' clauză:

SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';GO