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

कैसे बताएं कि SQL सर्वर में एक कंप्यूटेड कॉलम नियतात्मक है या नहीं?

जब आप SQL सर्वर में एक परिकलित स्तंभ बनाते हैं, तो स्तंभ के लिए आपके द्वारा उपयोग किया जाने वाला व्यंजक या तो नियतात्मक या गैर-निर्धारणात्मक होगा। इसके निहितार्थ हो सकते हैं, जैसे कि आप इसे किसी अनुक्रमणिका में उपयोग कर सकते हैं या नहीं या इसे "निरंतर" के रूप में फ़्लैग कर सकते हैं।

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

आप COLUMNPROPERTY() . का उपयोग कर सकते हैं IsDeterministic . के साथ कार्य करें यह पता लगाने के लिए तर्क कि परिकलित कॉलम नियतात्मक है या नहीं।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT 
  COLUMNPROPERTY(
    OBJECT_ID('dbo.Products'), 
    'TotalValue', 
    'IsDeterministic') 
    AS IsDeterministic;

परिणाम:

+-------------------+
| IsDeterministic   |
|-------------------|
| 1                 |
+-------------------+

इस मामले में TotalValue dbo.Products . से कॉलम तालिका है नियतात्मक। यदि ऐसा नहीं होता, तो परिणाम 0 . होता ।

IsDeterministic प्रॉपर्टी केवल परिकलित कॉलम और व्यू कॉलम पर लागू होती है।


  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. FORCEPLAN के साथ अपने T-SQL जॉइन के लिए क्वेरी ऑप्टिमाइज़र को ओवरराइड करें

  3. SqlCommand का उपयोग करने के पेशेवरों और विपक्ष सी # में तैयार करें?

  4. SQL सर्वर 2016:क्वेरी परिणामों को CSV फ़ाइल में सहेजें

  5. SQL क्वेरी ऑप्टिमाइज़ेशन:बेहतर प्रदर्शन के लिए सर्वोत्तम अभ्यास