आपके द्वारा चलाए जा रहे SQL सर्वर के संस्करण के आधार पर, सभी उपयोगकर्ता-निर्मित तालिकाओं की सूची को क्वेरी करने और वापस करने की विधि थोड़ी भिन्न हो सकती है। नीचे हम संक्षेप में उन TSQL कथनों की जाँच करेंगे जिनका उपयोग पुराने SQL Server 2000 और नए 2005 संस्करण या उसके बाद की तालिका सूची को पुनः प्राप्त करने के लिए किया जा सकता है।
SQL Server 2000 में टेबल्स को सूचीबद्ध करना
SQL सर्वर के पुराने संस्करणों के लिए (जैसे SQL Server 2000, हालांकि यह विधि बैकवर्ड संगतता के लिए SQL Server 2005 में भी समर्थित है), आपको SYS.SYSOBJECTS
को क्वेरी करने की आवश्यकता होगी। मेटाडेटा दृश्य। SYS.SYSOBJECTS
डेटाबेस में बनाई गई प्रत्येक वस्तु के लिए एक पंक्ति होती है, जिसमें stored procedures
. शामिल हैं , views
, और user tables
(जो system tables
. से अलग होना महत्वपूर्ण है ।)
SYSOBJECTS
तालिका में डेटा के दो दर्जन कॉलम होते हैं क्योंकि इसमें समय के साथ सर्वर में जोड़े गए लगभग हर चीज के बारे में जानकारी होनी चाहिए। इसलिए, उपयोगकर्ता द्वारा बनाई गई तालिकाओं की सूची खोजने के लिए (इस प्रकार system tables
. को अनदेखा करना ), हमें ऐसे परिणाम खोजने होंगे जहां xtype
कॉलम (जो object type
निर्दिष्ट करता है) उस पंक्ति के लिए) U
. के मान के बराबर है , जिसका अर्थ है user table
. परिणामी TSQL कथन इस तरह दिखना चाहिए:
SELECT
*
FROM
SYSOBJECTS
WHERE
xtype = 'U';
GO
नोट:चूंकि SYSOBJECTS
SYS
. का हिस्सा हैं SYSOBJECTS
. को क्वेरी करते समय नाम स्थान यह निर्दिष्ट करना अनावश्यक है कि SYSOBJECTS
वैश्विक SYS
का हिस्सा है नाम स्थान, इसलिए हम इसे छोड़ सकते हैं जैसा कि ऊपर के उदाहरण में दिखाया गया है।
यह सभी उपयोगकर्ता-निर्मित तालिकाओं की परिणाम सूची लौटाएगा। चूंकि सभी स्तंभों को क्वेरी करते समय लौटाई गई जानकारी की मात्रा काफी बड़ी है, आप केवल name
देखकर परिणामों को ट्रिम करना चाह सकते हैं कॉलम और शायद crdate
(निर्माण की तारीख):
SELECT
name,
crdate
FROM
SYSOBJECTS
WHERE
xtype = 'U';
GO
SQL Server 2005 या नए में लिस्टिंग टेबल्स
नए संस्करण (एसक्यूएल 2005 या उच्चतर) का उपयोग करते समय SQL सर्वर में सभी तालिकाओं को सूचीबद्ध करना INFORMATION_SCHEMA
को क्वेरी करने का विषय है दृश्य जो स्वचालित रूप से SQL सर्वर में निर्मित होते हैं। ये आपको इस विशेष SQL सर्वर इंस्टेंस के लिए मेटाडेटा की एक विस्तृत विविधता को आसानी से देखने की अनुमति देते हैं, जिसमें COLUMNS
के बारे में जानकारी शामिल है। , ROUTINES
, और यहां तक कि TABLES
।
आप देख सकते हैं कि INFORMATION_SCHEMA.TABLES
का उपयोग करते समय चार कॉलम वापस आ गए हैं देखें, लेकिन सबसे महत्वपूर्ण कॉलम है TABLE_TYPE
, जो निर्धारित करता है कि क्या उस पंक्ति की तालिका एक वास्तविक तालिका है (BASE TABLE
) या एक दृश्य (VIEW
)।
सभी तालिकाओं को वापस करने के लिए और एक प्रश्न में विचार, निम्नलिखित TSQL कथन निष्पादित करें:
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES;
GO
उस डेटाबेस को निर्दिष्ट करना भी बुद्धिमानी हो सकती है जिसे आप क्वेरी करना चाहते हैं:
SELECT
*
FROM
databaseName.INFORMATION_SCHEMA.TABLES;
GO
यदि आप केवल वास्तविक तालिकाएँ प्राप्त करना चाहते हैं और परिणामों से दृश्यों को फ़िल्टर करना चाहते हैं, तो एक WHERE TABLE_TYPE = 'BASE TABLE'
जोड़ें खंड:
SELECT
*
FROM
databaseName.INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = 'BASE TABLE';
GO