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

SQL सर्वर डेटाबेस में उपयोगकर्ता-परिभाषित तालिकाओं की संख्या की गणना करने के 5 तरीके

नीचे पाँच विधियाँ दी गई हैं जिनका उपयोग आप शीघ्रता से यह निर्धारित करने के लिए कर सकते हैं कि SQL सर्वर में वर्तमान डेटाबेस में कितनी उपयोगकर्ता-परिभाषित तालिकाएँ हैं।

सभी पांच विकल्प COUNT() . का उपयोग करते हैं गिनती प्राप्त करने के लिए कार्य करें। जाहिर है, आप इसे तारक से बदल सकते हैं (* ), या सभी उपयोगकर्ता-परिभाषित तालिकाओं की सूची वापस करने के लिए स्तंभों के नाम।

विकल्प 1 - sys.tables

ऐसा करने का सबसे स्पष्ट तरीका sys.tables . को क्वेरी करना है सिस्टम कैटलॉग दृश्य। इस दृश्य का पूरा उद्देश्य प्रत्येक उपयोगकर्ता तालिका के लिए एक पंक्ति लौटाना है, इसलिए हमें ठीक यही चाहिए।

USE WideWorldImportersDW;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.tables;

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 29                      |
+-------------------------+

इस मामले में मैं WideWorldImportersDW . से उपयोगकर्ता तालिकाओं की संख्या लौटाता हूं डेटाबेस।

अगर मैं दूसरे डेटाबेस पर स्विच करता हूं, तो मुझे एक अलग परिणाम मिलता है:

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.tables;

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

जैसा कि उल्लेख किया गया है, आप केवल COUNT(*) . को प्रतिस्थापित करके तालिकाओं को सूचीबद्ध कर सकते हैं तारक वाली रेखा (* ) या कॉलम के नाम:

USE Music;
SELECT name
FROM sys.tables;

परिणाम:

+---------+
| name    |
|---------|
| Artists |
| Genres  |
| Albums  |
| Country |
+---------+

विकल्प 2 - sys.objects को प्रकार के अनुसार फ़िल्टर करें

एक अन्य विकल्प sys.objects . को क्वेरी करना है कैटलॉग दृश्य।

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE type = 'U';

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

इस मामले में आपको type = 'U' . द्वारा फ़िल्टर करना होगा (U "उपयोगकर्ता तालिका" के लिए है)।

विकल्प 3 - sys.objects को "विवरण टाइप करें" द्वारा फ़िल्टर करें

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

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE type_desc = 'USER_TABLE';

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

विकल्प 4 - OBJECTPROPERTY() फ़ंक्शन का उपयोग करके sys.objects को फ़िल्टर करें

आप OBJECTPROPERTY() . का भी उपयोग कर सकते हैं आपके WHERE . में काम करता है खंड।

यह फ़ंक्शन दो तर्क स्वीकार करता है:एक ऑब्जेक्ट आईडी और एक प्रॉपर्टी। ऑब्जेक्ट आईडी टेबल आईडी हो सकती है और प्रॉपर्टी IsUserTable . हो सकती है , जो निर्धारित करता है कि वस्तु एक प्रणाली तालिका है या नहीं।

इसलिए, आप कुछ ऐसा कर सकते हैं:

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE OBJECTPROPERTY(object_id, 'IsUserTable') = 1;

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

विकल्प 5 - INFORMATION_SCHEMA.TABLES

यह विकल्प INFORMATION_SCHEMA.TABLES . से पूछताछ करता है सूचना स्कीमा दृश्य। यह दृश्य दृश्य और तालिका दोनों लौटाता है, इसलिए आपको TABLE_TYPE = 'BASE TABLE' द्वारा फ़िल्टर करने की आवश्यकता है सिर्फ टेबल वापस करने के लिए।

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';

परिणाम:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

यदि आपको सिस्टम तालिकाओं की संख्या पता करने की आवश्यकता है, तो SQL सर्वर में सिस्टम तालिकाओं की संख्या की गणना करने के 3 तरीके देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अदिश चर @Id घोषित करना चाहिए?

  2. SQL सर्वर प्रबंधन स्टूडियो (SSMS) में वस्तुओं को कैसे फ़िल्टर करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 19

  3. सी # में एसक्लट्रांसक्शन का उपयोग कैसे करें

  4. क्या मुझे वास्तव में SET XACT_ABORT ON का उपयोग करने की आवश्यकता है?

  5. हमेशा उपलब्धता समूहों पर SQL सर्वर का समस्या निवारण