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

SQL सर्वर में sys.sql_modules, sys.system_sql_modules और sys.all_sql_modules के बीच अंतर

SQL सर्वर में sys.sql_modules , sys.system_sql_modules , और sys.all_sql_modules सिस्टम कैटलॉग दृश्य SQL सर्वर में SQL भाषा-परिभाषित मॉड्यूल के बारे में मेटाडेटा लौटाता है।

हालांकि, उनमें अंतर है।

यहां प्रत्येक दृश्य की आधिकारिक परिभाषा दी गई है:

sys.sql_modules
प्रत्येक ऑब्जेक्ट के लिए एक पंक्ति देता है जो SQL सर्वर में SQL भाषा-परिभाषित मॉड्यूल है, जिसमें मूल रूप से संकलित स्केलर उपयोगकर्ता-परिभाषित फ़ंक्शन शामिल है। P, RF, V, TR, FN, IF, TF, और R प्रकार की वस्तुओं में एक संबद्ध SQL मॉड्यूल होता है। स्टैंड-अलोन डिफ़ॉल्ट, D प्रकार के ऑब्जेक्ट, इस दृश्य में SQL मॉड्यूल परिभाषा भी रखते हैं।
sys.system_sql_modules
प्रति सिस्टम ऑब्जेक्ट में एक पंक्ति देता है जिसमें SQL भाषा-परिभाषित मॉड्यूल होता है। FN, IF, P, PC, TF, V प्रकार के सिस्टम ऑब्जेक्ट में एक संबद्ध SQL मॉड्यूल होता है।
sys.all_sql_modules
sys.sql_modules . का संघ लौटाता है और sys.system_sql_modules

दूसरे शब्दों में, अंतिम दृश्य पिछले दो दृश्यों के परिणामों को जोड़ता है (यह सिस्टम और . दोनों को लौटाता है उपयोगकर्ता-परिभाषित मॉड्यूल)।

उदाहरण

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

USE Music;

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

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

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

परिणाम:

+---------------+
| sql_modules   |
|---------------|
| 9             |
+---------------+
(1 row affected)
+----------------------+
| system_sql_modules   |
|----------------------|
| 2020                 |
+----------------------+
(1 row affected)
+-------------------+
| all_sql_modules   |
|-------------------|
| 2029              |
+-------------------+
(1 row affected)

इस मामले में, इस डेटाबेस में केवल 9 उपयोगकर्ता-परिभाषित मॉड्यूल हैं। बाकी सिस्टम मॉड्यूल से हैं।

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

SELECT 
(SELECT COUNT(*) FROM sys.sql_modules) +
(SELECT COUNT(*) FROM sys.system_sql_modules)
AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 2029     |
+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल:ईमेल प्रारूप की जांच

  2. SQL सर्वर सम्मिलित उदाहरण

  3. SQL डेटाबेस में अरबी स्टोर करें

  4. SQL सर्वर में एक इनलाइन टेबल-वैल्यूड फंक्शन (ITVF) बनाएं

  5. कैसे सही ढंग से nvarchar . में नई पंक्ति सम्मिलित करने के लिए