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

SQL सर्वर में sys.columns, sys.system_columns और sys.all_columns के बीच अंतर

SQL सर्वर में तीन सिस्टम कैटलॉग दृश्यों में शामिल हैं sys.columns , sys.system_columns , और sys.all_columns

ये तीन कैटलॉग व्यू प्रत्येक डेटाबेस में कॉलम के बारे में मेटाडेटा प्रदान करते हैं, लेकिन उनके बीच एक अंतर है।

यहाँ हर एक क्या करता है:

sys.columns
उपयोगकर्ता द्वारा परिभाषित वस्तुओं से कॉलम लौटाता है। इसमें सिस्टम बेस टेबल से कॉलम शामिल हैं।
sys.system_columns
सिस्टम ऑब्जेक्ट से कॉलम लौटाता है।
sys.all_columns
सभी उपयोगकर्ता-परिभाषित और सिस्टम ऑब्जेक्ट से कॉलम लौटाता है।

दूसरे शब्दों में, अंतिम दृश्य पिछले दो दृश्यों के परिणामों को जोड़ता है।

निम्नलिखित ऑब्जेक्ट प्रकारों में कॉलम हो सकते हैं:

  • टेबल-वैल्यू असेंबली फंक्शन (FT)
  • इनलाइन तालिका-मूल्यवान SQL फ़ंक्शन (IF)
  • आंतरिक टेबल (आईटी)
  • सिस्टम टेबल (एस)
  • तालिका-मूल्यवान SQL फ़ंक्शन (TF)
  • उपयोगकर्ता तालिकाएं (यू)
  • दृश्य (वी)

उदाहरण

यहां एक उदाहरण दिया गया है जो इन दृश्यों द्वारा लौटाए गए परिणामों में अंतर दर्शाता है।

USE Music;

SELECT COUNT(*) AS columns
FROM sys.columns;

SELECT COUNT(*) AS system_columns
FROM sys.system_columns;

SELECT COUNT(*) AS all_columns
FROM sys.all_columns;

परिणाम:

+-----------+
| columns   |
|-----------|
| 1025      |
+-----------+
(1 row affected)
+------------------+
| system_columns   |
|------------------|
| 8982             |
+------------------+
(1 row affected)
+---------------+
| all_columns   |
|---------------|
| 10007         |
+---------------+
(1 row affected)

यदि हम पहले दो प्रश्नों के परिणाम एक साथ जोड़ते हैं, तो हमें sys.all_columns जैसा ही परिणाम मिलता है :

USE Music;

SELECT 
(SELECT COUNT(*) FROM sys.columns) +
(SELECT COUNT(*) FROM sys.system_columns)
AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 10007    |
+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .NET 4:वेब में अन्य असेंबली में ईडीएमएक्स फ़ाइल को कैसे कॉन्फ़िगर करें

  2. Microsoft SQL Server 2012 में AdventureWorks डेटाबेस नमूने स्थापित करना

  3. नंबर टेबल बनाने और भरने का सबसे अच्छा तरीका क्या है?

  4. PERFMON के माध्यम से प्रदर्शन काउंटरों की निगरानी | SQL सर्वर प्रदर्शन समस्या निवारण -3

  5. SQL सर्वर कर्सर प्रकार - KEYSET कर्सर | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल