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)).
Lasă un răspuns