Acest articol prezintă 4 moduri de utilizare a T-SQL pentru a obține definiția unei vizualizări în SQL Server.

definiția vizualizării este instrucțiunea T-SQL reală utilizată pentru a crea vizualizarea.

Exemplul 1-sys.Sql_modules vizualizare Catalog sistem

sys.sql_modules vizualizare catalog sistem returnează un rând pentru fiecare obiect care este un modul SQL definit în SQL Server.,cu alte cuvinte, puteți utiliza această vizualizare pentru a returna informații despre obiecte de diferite tipuri, inclusiv funcții, proceduri stocate și, desigur, vizualizări.

una dintre coloanele returnate cu această vizualizare se numește definition. După cum sugerează și numele, aceasta returnează definiția obiectului.

SELECT definitionFROM sys.sql_modulesWHERE object_id = object_id('Website.Customers');

rezultat:

am folosit o interfață de linie de comandă (CLI) cu acest exemplu, deci rezultatul este formatat frumos.,

Dacă utilizați o interfață grafică (cum ar fi SSMS sau Azure Data Studio) pentru a returna rezultatele într-o grilă, definiția va fi probabil returnată într-o linie lungă într-o singură celulă. În astfel de cazuri, va trebui să faceți o muncă suplimentară dacă doriți să fie afișată într-un format mai lizibil. Alternativ, puteți utiliza metoda sp_helptext de mai jos.

Exemplu 2 – sp_helptext Sistem de Proceduri Stocate

o Altă metodă de a se întoarce vedere definiția lui este de a utiliza sp_helptext sistem de proceduri stocate., Pe lângă returnarea definiției pentru o vizualizare, poate returna și definiția unei reguli definite de utilizator, implicit, procedură stocată necriptată T-SQL, funcție Transact-SQL definită de utilizator, declanșator, coloană calculată, CHECK constrângere sau obiect de sistem, cum ar fi o procedură stocată de sistem.așa cum am menționat în exemplul anterior, această procedură stocată afișează definiția vizualizării pe mai multe rânduri. Fiecare rând conține 255 de caractere ale definiției T-SQL.,

Exemplu:

EXEC sp_helptext 'Website.Customers';

Aici e rezultatul pe care îl obține atunci când se utilizează un GUI (Azure data Studio):

Și aici e ceea ce am primit ajutorul meu interfață linie de comandă:

de Această dată, rezultatele arata mai bine atunci când se utilizează GUI.

Exemplul 3 – OBJECT_DEFINITION Funcția ()

un Alt mod de a reveni vedere definiția lui este de a utiliza OBJECT_DEFINITION() function. Ca și în cazul metodelor anterioare, această metodă poate returna și definiția altor tipuri de obiecte.,

Iată un exemplu de utilizare a acestei funcții:

SELECT OBJECT_DEFINITION( OBJECT_ID('Website.Customers') ) AS ;

rezultat:

de data aceasta este mai ușor de citit în CLI decât grila mea GUI.

Exemplul 4-vizualizarea schemei de informații a sistemului de vizualizări

VIEWS vizualizarea schemei de informații a sistemului poate, de asemenea, să returneze definiția unei vizualizări. O diferență între această metodă și cele anterioare este că, VIEWS vizualizarea schemei de informații este limitată la doar vizualizări (așa cum sugerează și numele).

returnează o grămadă de coloane, dintre care una este definiția vizualizării., Prin urmare, putem nume coloană să se întoarcă doar definiție:

SELECT VIEW_DEFINITIONFROM INFORMATION_SCHEMA.VIEWSWHERE TABLE_NAME = 'Customers';

Rezultat:

Rețineți că VIEW_DEFINITION coloana în acest sistem de vedere, are o lungime maximă de nvarchar(4000). Pentru definițiile de vizualizare mai mari decât aceasta, puteți utiliza funcția OBJECT_DEFINITION() din exemplul anterior.

valoarea de returnare a OBJECT_DEFINITION() funcția este nvarchar(max), deci nu au caracter de limitare a VIEW_DEFINITION coloana (care, după cum sa menționat, este nvarchar(4000)).