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

SQL सर्वर (T-SQL उदाहरण) में एक संग्रहीत कार्यविधि या उपयोगकर्ता-परिभाषित फ़ंक्शन के पैरामीटर लौटाएँ

SQL सर्वर में, आप Transact-SQL PARAMETERS . का उपयोग कर सकते हैं सिस्टम सूचना स्कीमा दृश्य संग्रहीत कार्यविधि या उपयोगकर्ता-परिभाषित फ़ंक्शन में उपयोग किए गए मापदंडों को खोजने के लिए।

अधिक विशेष रूप से, यह उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन या संग्रहीत प्रक्रिया के प्रत्येक पैरामीटर के लिए एक पंक्ति देता है जिसे वर्तमान उपयोगकर्ता द्वारा वर्तमान डेटाबेस में एक्सेस किया जा सकता है।

इस दृश्य का उपयोग करने के लिए, INFORMATION_SCHEMA.PARAMETERS का पूर्णतः योग्य नाम निर्दिष्ट करें ।

उदाहरण 1 - मूल उपयोग

वर्तमान डेटाबेस में सभी संग्रहीत प्रक्रियाओं और उपयोगकर्ता-परिभाषित कार्यों में उपयोग किए गए मापदंडों के बारे में जानकारी वापस करने का एक उदाहरण यहां दिया गया है, जिस तक वर्तमान उपयोगकर्ता की पहुंच है।

SELECT 
  SPECIFIC_CATALOG AS [Database],
  SPECIFIC_SCHEMA AS [Schema],
  SPECIFIC_NAME AS [Table],
  PARAMETER_MODE AS [Mode],
  IS_RESULT,
  PARAMETER_NAME,
  DATA_TYPE
FROM INFORMATION_SCHEMA.PARAMETERS;

परिणाम:

+------------+----------+----------------------+--------+-------------+------------------+-------------+
| Database   | Schema   | Table                | Mode   | IS_RESULT   | PARAMETER_NAME   | DATA_TYPE   |
|------------+----------+----------------------+--------+-------------+------------------+-------------|
| Music      | dbo      | ISOweek              | OUT    | YES         |                  | int         |
| Music      | dbo      | ISOweek              | IN     | NO          | @DATE            | datetime    |
| Music      | dbo      | ufn_AlbumsByGenre    | IN     | NO          | @GenreId         | int         |
| Music      | dbo      | spAlbumsFromArtist   | IN     | NO          | @ArtistName      | varchar     |
| Music      | dbo      | uspGetAlbumsByArtist | IN     | NO          | @ArtistId        | int         |
+------------+----------+----------------------+--------+-------------+------------------+-------------+

इस उदाहरण में मैंने दृश्य से केवल सात कॉलम वापस करना चुना है। निम्न उदाहरण सभी कॉलम प्रदर्शित करता है।

उदाहरण 2 - सभी कॉलम लौटाएं

इस उदाहरण में मैं सभी कॉलम शामिल करता हूं जो दृश्य देता है। मैं लंबवत आउटपुट का भी उपयोग करता हूं ताकि आपको क्षैतिज रूप से स्क्रॉल करने के लिए मजबूर न किया जाए। साथ ही, संक्षिप्तता के लिए, मैं WHERE . का उपयोग करता हूं केवल एक उपयोगकर्ता-परिभाषित फ़ंक्शन के बारे में जानकारी वापस करने के लिए खंड जो एक पैरामीटर का उपयोग करता है (इसलिए केवल एक पंक्ति लौटा दी जाती है)।

SELECT * 
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

SPECIFIC_CATALOG          | Music
SPECIFIC_SCHEMA           | dbo
SPECIFIC_NAME             | ufn_AlbumsByGenre
ORDINAL_POSITION          | 1
PARAMETER_MODE            | IN
IS_RESULT                 | NO
AS_LOCATOR                | NO
PARAMETER_NAME            | @GenreId
DATA_TYPE                 | int
CHARACTER_MAXIMUM_LENGTH  | NULL
CHARACTER_OCTET_LENGTH    | NULL
COLLATION_CATALOG         | NULL
COLLATION_SCHEMA          | NULL
COLLATION_NAME            | NULL
CHARACTER_SET_CATALOG     | NULL
CHARACTER_SET_SCHEMA      | NULL
CHARACTER_SET_NAME        | NULL
NUMERIC_PRECISION         | 10
NUMERIC_PRECISION_RADIX   | 10
NUMERIC_SCALE             | 0
DATETIME_PRECISION        | NULL
INTERVAL_TYPE             | NULL
INTERVAL_PRECISION        | NULL
USER_DEFINED_TYPE_CATALOG | NULL
USER_DEFINED_TYPE_SCHEMA  | NULL
USER_DEFINED_TYPE_NAME    | NULL
SCOPE_CATALOG             | NULL
SCOPE_SCHEMA              | NULL
SCOPE_NAME                | NULL

इस दृश्य द्वारा लौटाए गए प्रत्येक स्तंभ के बारे में जानकारी के लिए Microsoft दस्तावेज़ देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. इकाई फ्रेमवर्क 6 - समय संबंधी प्रश्न

  2. क्या आप सही डेटाबेस प्रदर्शन निगरानी उपकरण का उपयोग कर रहे हैं?

  3. SQL सर्वर यदि मौजूद नहीं है तो उपयोग करें?

  4. SQL सर्वर 2016:क्वेरी डिज़ाइनर

  5. SQL सर्वर में एक क्वेरी टाइमआउट को मजबूर करना