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

SQL सर्वर (T-SQL) में विभाजन फ़ंक्शन के पैरामीटर प्रकार की जाँच करें

यदि आपके पास SQL ​​​​सर्वर में एक विभाजित तालिका या अनुक्रमणिका है, और आप विभाजन फ़ंक्शन के पैरामीटर प्रकार की जांच करना चाहते हैं, तो आप sys.partition_parameters का उपयोग कर सकते हैं सिस्टम कैटलॉग व्यू।

यह दृश्य किसी पार्टीशन फ़ंक्शन के प्रत्येक पैरामीटर के लिए एक पंक्ति देता है।

पैरामीटर प्रकार तालिका या अनुक्रमणिका में विभाजन स्तंभ के डेटा प्रकार से मेल खाना चाहिए या परोक्ष रूप से परिवर्तनीय होना चाहिए।

उदाहरण

यहां एक उदाहरण दिया गया है जो sys.partition_parameters . द्वारा लौटाए गए कॉलम दिखाता है देखें।

SELECT * FROM sys.partition_parameters;

परिणाम:

+---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+
| function_id   | parameter_id   | system_type_id   | max_length   | precision   | scale   | collation_name   | user_type_id   |
|---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------|
| 65542         | 1              | 56               | 4            | 10          | 0       | NULL             | 56             |
+---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+

मेरे पास केवल एक विभाजन कार्य है, और इसलिए केवल एक पंक्ति लौटा दी जाती है।

यहां वर्टिकल आउटपुट का उपयोग करके फिर से परिणाम दिया गया है (आपको बग़ल में स्क्रॉल करने से बचाने के लिए):

function_id    | 65542
parameter_id   | 1
system_type_id | 56
max_length     | 4
precision      | 10
scale          | 0
collation_name | NULL
user_type_id   | 56

प्रकार का नाम प्राप्त करें

sys.partition_parameters दृश्य वास्तव में प्रकार का नाम वापस नहीं करता है। यह टाइप आईडी देता है। दरअसल, यह सिस्टम टाइप और यूजर डिफाइन्ड टाइप दोनों की टाइप आईडी लौटाता है।

सौभाग्य से, आप हम TYPE_NAME() . का उपयोग कर सकते हैं प्रत्येक का नाम वापस करने के लिए कार्य करें।

SELECT
    function_id,
    parameter_id,
    TYPE_NAME(system_type_id) AS [System Type],
    max_length,
    precision,
    scale,
    collation_name,
    TYPE_NAME(user_type_id) AS [User Type]
FROM sys.partition_parameters;

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

function_id    | 65542
parameter_id   | 1
System Type    | int
max_length     | 4
precision      | 10
scale          | 0
collation_name | NULL
User Type      | int

फ़ंक्शन का नाम वापस करें

हम sys.partition_functions . में भी शामिल हो सकते हैं इसके आईडी के बजाय फ़ंक्शन का नाम वापस करने के लिए देखें।

SELECT
    pf.name,
    pp.parameter_id,
    TYPE_NAME(pp.system_type_id) AS [System Type],
    pp.max_length,
    pp.precision,
    pp.scale,
    pp.collation_name,
    TYPE_NAME(pp.user_type_id) AS [User Type]
FROM sys.partition_parameters pp
INNER JOIN sys.partition_functions pf
ON pf.function_id = pp.function_id;

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

name           | MoviesPartitionFunction
parameter_id   | 1
System Type    | int
max_length     | 4
precision      | 10
scale          | 0
collation_name | NULL
User Type      | int

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में विदेशी कुंजी निर्भरता कैसे खोजें?

  2. SQL सर्वर में एक अदिश UDF क्या है?

  3. SQL सर्वर (T-SQL) में डेटाबेस का संयोजन कैसे सेट करें

  4. SQL सर्वर में FORMAT () द्वारा समर्थित कस्टम दिनांक/समय प्रारूप स्ट्रिंग्स

  5. SQL सर्वर गतिरोध की शारीरिक रचना और उनसे बचने के सर्वोत्तम तरीके