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

SQL सर्वर डेटाबेस में सभी दृश्यों को सूचीबद्ध करने के 4 तरीके

यह आलेख SQL सर्वर डेटाबेस में उपयोगकर्ता-परिभाषित दृश्यों की सूची वापस करने के चार तरीके प्रस्तुत करता है।

यदि आप केवल सिस्टम दृश्य देखना चाहते हैं, या दोनों उपयोगकर्ता-परिभाषित और . देखना चाहते हैं सिस्टम दृश्य, SQL सर्वर में sys.views, sys.system_views और sys.all_views के बीच अंतर देखें।

विकल्प 1 - दृश्य सूचना स्कीमा दृश्य

आप VIEWS का उपयोग कर सकते हैं डेटाबेस में सभी उपयोगकर्ता-परिभाषित दृश्यों की सूची प्राप्त करने के लिए सूचना स्कीमा दृश्य।

USE Music;
SELECT 
  TABLE_SCHEMA,
  TABLE_NAME
FROM INFORMATION_SCHEMA.VIEWS;

परिणाम:

+----------------+--------------+
| TABLE_SCHEMA   | TABLE_NAME   |
|----------------+--------------|
| dbo            | RockAlbums   |
| dbo            | JazzAlbums   |
| dbo            | BluesAlbums  |
+----------------+--------------+

दृश्य की परिभाषा लौटाएं

INFORMATION_SCHEMA.VIEWS दृश्य में एक VIEW_DEFINITION भी है कॉलम, ताकि यदि आवश्यक हो तो आप आसानी से प्रत्येक दृश्य की परिभाषा वापस कर सकते हैं।

SELECT VIEW_DEFINITION
FROM INFORMATION_SCHEMA.VIEWS;

विकल्प 2 - sys.views सिस्टम कैटलॉग व्यू

दृश्यों की सूची वापस करने का दूसरा तरीका sys.views . को क्वेरी करना है सिस्टम कैटलॉग व्यू।

USE Music;
SELECT 
  SCHEMA_NAME(schema_id) AS [Schema],
  Name
FROM sys.views;

परिणाम:

+----------+-------------+
| Schema   | Name        |
|----------+-------------|
| dbo      | RockAlbums  |
| dbo      | JazzAlbums  |
| dbo      | BluesAlbums |
+----------+-------------+

दृश्य की परिभाषा लौटाएं

sys.view दृश्य में ऑब्जेक्ट की परिभाषा के लिए एक कॉलम शामिल नहीं है। यदि आप प्रत्येक दृश्य की परिभाषा वापस करना चाहते हैं, तो आप इसे sys.sql_modules के साथ जोड़ सकते हैं सिस्टम दृश्य।

उदाहरण:

SELECT definition
FROM sys.views v
INNER JOIN sys.sql_modules m 
ON v.object_id = m.object_id;

विकल्प 3 - sys.objects सिस्टम कैटलॉग व्यू

दृश्यों की सूची वापस करने का दूसरा तरीका sys.objects . को क्वेरी करना है सिस्टम कैटलॉग व्यू।

SELECT 
  SCHEMA_NAME(schema_id) AS [Schema],
  name
FROM sys.objects
WHERE type = 'V';

परिणाम:

+----------+-------------+
| Schema   | name        |
|----------+-------------|
| dbo      | RockAlbums  |
| dbo      | JazzAlbums  |
| dbo      | BluesAlbums |
+----------+-------------+

प्रकार V "दृश्य" के लिए है। ऐसा करने का दूसरा तरीका type_desc . द्वारा फ़िल्टर करना है कॉलम:

SELECT 
  SCHEMA_NAME(schema_id) AS [Schema],
  name
FROM sys.objects
WHERE type_desc = 'VIEW';

दृश्य की परिभाषा लौटाएं

sys.objects दृश्य में ऑब्जेक्ट की परिभाषा के लिए एक कॉलम शामिल नहीं है। यदि आप प्रत्येक दृश्य की परिभाषा वापस करना चाहते हैं, तो आप इसे sys.sql_modules के साथ जोड़ सकते हैं सिस्टम दृश्य।

उदाहरण:

SELECT definition
FROM sys.objects o
INNER JOIN sys.sql_modules m 
ON o.object_id = m.object_id
WHERE type = 'V';

विकल्प 4 - sp_tables संग्रहित प्रक्रिया

sp_tables संग्रहीत कार्यविधि उन वस्तुओं की सूची लौटाती है जिन्हें वर्तमान परिवेश में क्वेरी किया जा सकता है। इसमें समानार्थी वस्तुओं को छोड़कर कोई भी तालिका या दृश्य शामिल है।

आप @table_type . के साथ परिणामों को केवल दृश्यों तक सीमित कर सकते हैं पैरामीटर। आप इसे केवल किसी दिए गए स्वामी या कैटलॉग तक सीमित भी कर सकते हैं।

निम्नलिखित कोड को निष्पादित करने से सिस्टम दृश्य सहित - वर्तमान डेटाबेस में सभी दृश्य वापस आ जाएंगे।

EXEC sp_tables @table_type = "'VIEW'";

मैं यहां परिणाम प्रस्तुत नहीं करूंगा क्योंकि यह एक लंबी सूची है।

यहां इसे किसी दिए गए डेटाबेस स्वामी तक सीमित कर दिया गया है:

EXEC sp_tables 
  @table_owner = 'dbo',
  @table_type = "'VIEW'";

परिणाम:

+-------------------+---------------+--------------+--------------+-----------+
| TABLE_QUALIFIER   | TABLE_OWNER   | TABLE_NAME   | TABLE_TYPE   | REMARKS   |
|-------------------+---------------+--------------+--------------+-----------|
| Music             | dbo           | BluesAlbums  | VIEW         | NULL      |
| Music             | dbo           | JazzAlbums   | VIEW         | NULL      |
| Music             | dbo           | RockAlbums   | VIEW         | NULL      |
+-------------------+---------------+--------------+--------------+-----------+

  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 सर्वर (T-SQL) में किसी उपयोगकर्ता के लिए डिफ़ॉल्ट डेटाबेस मेल प्रोफ़ाइल कैसे बदलें

  2. SQL सर्वर में डेटाबेस इंडेक्स डिज़ाइन के लिए शीर्ष पाँच विचार

  3. अल्पविराम से अलग किए गए मान को कॉलम में कैसे विभाजित करें

  4. SQL सर्वर में भाषा सेटिंग्स आपके FORMAT () परिणामों को कैसे प्रभावित कर सकती हैं (T-SQL उदाहरण)

  5. क्या Microsoft SQL सर्वर पर SQL क्वेरी के लिए टाइमआउट सेट करना संभव है?