Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में दृश्य सूचना स्कीमा दृश्य के साथ जानकारी देखें

SQL सर्वर में, आप Transact-SQL VIEWS . का उपयोग कर सकते हैं वर्तमान डेटाबेस में एक या अधिक दृश्यों के बारे में जानकारी वापस करने के लिए सिस्टम सूचना स्कीमा दृश्य। यह उन दृश्यों के लिए एक पंक्ति देता है जिन्हें वर्तमान डेटाबेस में वर्तमान उपयोगकर्ता द्वारा एक्सेस किया जा सकता है।

इस दृश्य का उपयोग करने के लिए, INFORMATION_SCHEMA.VIEWS का पूर्णतः योग्य नाम निर्दिष्ट करें ।

उदाहरण 1 - विशिष्ट दृश्य के बारे में जानकारी लौटाएं

यहां उन सभी दृश्यों के बारे में जानकारी लौटाने का एक उदाहरण दिया गया है, जिनकी वर्तमान डेटाबेस में वर्तमान उपयोगकर्ता की पहुंच है।

चुनें TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, CHECK_OPTION, IS_UPDATABLEFROM INFORMATION_SCHEMA.VIEWS;

परिणाम:

+---------------------+----------------+---------- ---+----------------+----------------+| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | CHECK_OPTION | IS_UPDATABLE ||---------------------+----------------+--------------- --+----------------+----------------|| संगीत | डीबीओ | रॉकएल्बम्स | कोई नहीं | नहीं || संगीत | डीबीओ | जैज़ एल्बम | कोई नहीं | नहीं || संगीत | डीबीओ | ब्लूज़ एल्बम | कोई नहीं | नहीं |+---------------------+----------------+--------------- --+----------------+----------------+

मैंने जानबूझकर इस उदाहरण में एक कॉलम छोड़ा है। मैंने VIEW_DEFINITION छोड़ा कॉलम। मैंने इसे छोड़ दिया क्योंकि यह मेरे कमांड लाइन टूल का उपयोग करते समय आउटपुट को गड़बड़ कर देता है। आप एक उदाहरण देख सकते हैं जिसमें नीचे यह कॉलम शामिल है।

ध्यान दें कि Microsoft दस्तावेज़ चेतावनी देता है कि आपको INFORMATION_SCHEMA का उपयोग नहीं करना चाहिए किसी वस्तु के स्कीमा को निर्धारित करने के लिए विचार। किसी वस्तु के स्कीमा को खोजने का एकमात्र विश्वसनीय तरीका sys.objects . को क्वेरी करना है कैटलॉग दृश्य।

उदाहरण 2 - विशिष्ट दृश्य के बारे में जानकारी लौटाएं

यहां किसी विशिष्ट दृश्य के बारे में जानकारी लौटाने का एक उदाहरण दिया गया है।

 चयन करें TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, CHECK_OPTION, IS_UPDATABLEFROM INFORMATION_SCHEMA.VIEWSWHERE TABLE_NAME ='RockAlbums';

परिणाम:

+---------------------+----------------+---------- ---+----------------+----------------+| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | CHECK_OPTION | IS_UPDATABLE ||---------------------+----------------+--------------- --+----------------+----------------|| संगीत | डीबीओ | रॉकएल्बम्स | कोई नहीं | नहीं |+---------------------+----------------+--------------- --+----------------+----------------+

यहाँ यह फिर से VIEW_DEFINITION . के साथ है कॉलम शामिल:

चुनें * INFORMATION_SCHEMA से देखें। जहां TABLE_NAME ='रॉकएल्बम्स';

परिणाम:

+---------------------+----------------+---------- ---+---------------------+----------------+---------- --------+| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | VIEW_DEFINITION | CHECK_OPTION | IS_UPDATABLE ||---------------------+----------------+--------------- ----------------------------------------+---------- ------|| संगीत | डीबीओ | रॉकएल्बम्स | रॉकएल्बम का चयन करें एल्बम का नाम चुनें, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकार शामिल हों। कलाकार आईडी =कलाकार। कलाकार आईडी इनर एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='Rock'; | कोई नहीं | नहीं |+---------------------+----------------+--------------- ----------------------------------------+---------- ------+

उदाहरण 3 - केवल दृश्य परिभाषा लौटाएं

मेरे लेआउट को गड़बड़ाने वाली दृश्य परिभाषा के नकारात्मक पक्ष के बावजूद, यदि आप केवल दृश्य परिभाषा की तलाश में हैं तो यह कॉलम काम में आ सकता है:

 INFORMATION_SCHEMA से VIEW_DEFINITION चुनें। VIEWSWHERE TABLE_NAME ='RockAlbums';

परिणाम:

+---------------------+| देखें_परिभाषा ||-------------------|| रॉकएल्बम का चयन करें एल्बम का नाम चुनें, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकार शामिल हों। कलाकार आईडी =कलाकार। कलाकार आईडी इनर एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='Rock'; |+---------------------+

उदाहरण 4 - एकाधिक दृश्यों की दृश्य परिभाषाएं लौटाएं

VIEW_DEFINITION यदि एक साथ कई दृश्यों के लिए दृश्य परिभाषाओं को सूचीबद्ध करना चाहते हैं तो कॉलम अतिरिक्त उपयोगी हो सकता है:

 INFORMATION_SCHEMA से VIEW_DEFINITION चुनें। VIEWSWHERE TABLE_NAME ='RockAlbums';

परिणाम:

+---------------------+| देखें_परिभाषा ||-------------------|| रॉकएल्बम का चयन करें एल्बम का नाम चुनें, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकार शामिल हों। कलाकार आईडी =कलाकार। कलाकार आईडी इनर एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='Rock'; || देखें JazzAlbums ASSELECT एल्बम का नाम, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकारों से जुड़ें।ArtistId =Artists.ArtistId INNER एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='जैज़'; || क्रिएट व्यू ब्लूज़एल्बम ASSELECT एल्बम का नाम, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकार शामिल हों।ArtistId =Artists.ArtistId INNER एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='Blues'; |+---------------------+(3 पंक्तियाँ प्रभावित)

उदाहरण 5 - बड़े दृश्य परिभाषाएं लौटाना

VIEW_DEFINITION कॉलम की अधिकतम लंबाई nvarchar(4000) . है . इससे बड़ी परिभाषाओं को देखने के लिए, आप OBJECT_DEFINITION() . का उपयोग कर सकते हैं फ़ंक्शन (OBJECT_ID() . के साथ) function) पूरी परिभाषा वापस करने के लिए।

OBJECT_DEFINITION() . का रिटर्न वैल्यू फ़ंक्शन है nvarchar(max) , इसलिए इसमें VIEW_DEFINITION . की वर्ण सीमा नहीं है कॉलम (जैसा कि बताया गया है, nvarchar(4000) . है )।

उदाहरण:

 INFORMATION_SCHEMA से OBJECT_DEFINITION(OBJECT_ID(TABLE_NAME)) चुनें। 

परिणाम:

+----------------------+| (कोई कॉलम नाम नहीं) ||----------------------|| रॉकएल्बम का चयन करें एल्बम का नाम चुनें, कलाकार का नाम एल्बम से इनर एल्बम पर कलाकार शामिल हों। कलाकार आईडी =कलाकार। कलाकार आईडी इनर एल्बम पर शैलियों में शामिल हों। GenreId =Genres.GenreIdWHERE Genres.Genre ='Rock'; |+--------------------+

जाहिर है, यह उदाहरण OBJECT_DEFINITION() का उपयोग करने का लाभ नहीं दिखाता है फ़ंक्शन, क्योंकि दृश्य परिभाषा बहुत छोटी है, लेकिन यदि आपके पास एक अतिरिक्त बड़ी दृश्य परिभाषा है, तो उम्मीद है कि यह उदाहरण मदद करता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उदाहरण के साथ SQL सर्वर इनर जॉइन बेसिक्स

  2. SQL सर्वर की छिपी विशेषताएं

  3. एक्सएमएल के लिए एसक्यूएल के साथ एचटीएमएल टेबल बनाएं

  4. SQL डेटाबेस पुनर्प्राप्ति लंबित पहुँच अस्वीकृत समस्या को ठीक करें

  5. स्पॉटलाइट क्लाउड सुरक्षा सुविधा - शाब्दिक निकालें