SQL सर्वर में तीन सिस्टम कैटलॉग दृश्यों में शामिल हैं sys.views
, sys.system_views
, और sys.all_views
.
ये तीन कैटलॉग दृश्य सभी डेटाबेस में दृश्यों के बारे में मेटाडेटा प्रदान करते हैं, लेकिन प्रत्येक दृश्य के बीच एक सूक्ष्म अंतर है।
यहाँ हर एक क्या करता है:
sys.views
- सभी उपयोगकर्ता-परिभाषित दृश्य लौटाता है।
sys.system_views
- SQL सर्वर के साथ भेजे गए सभी सिस्टम दृश्य लौटाता है।
sys.all_views
- सभी उपयोगकर्ता-परिभाषित और सिस्टम दृश्य दिखाता है।
दूसरे शब्दों में, अंतिम दृश्य पिछले दो दृश्यों के परिणामों को जोड़ता है (यह सिस्टम और . दोनों को लौटाता है उपयोगकर्ता द्वारा परिभाषित विचार)।
उदाहरण
यहां एक उदाहरण दिया गया है जो इन दृश्यों द्वारा लौटाए गए परिणामों में अंतर दर्शाता है।
USE Music; SELECT COUNT(*) AS [User Defined] FROM sys.views; SELECT COUNT(*) AS [System] FROM sys.system_views; SELECT COUNT(*) AS [All Views] FROM sys.all_views;
परिणाम:
+----------------+ | User Defined | |----------------| | 3 | +----------------+ (1 row affected) +----------+ | System | |----------| | 494 | +----------+ (1 row affected) +-------------+ | All Views | |-------------| | 497 | +-------------+ (1 row affected)
यदि हम पहले दो प्रश्नों के परिणाम एक साथ जोड़ते हैं, तो हमें वही परिणाम मिलता है जो sys.all_views
:
USE Music; SELECT (SELECT COUNT(*) FROM sys.views) + (SELECT COUNT(*) FROM sys.system_views) AS Result;
परिणाम:
+----------+ | Result | |----------| | 497 | +----------+