SQL सर्वर में आप OBJECTPROPERTY()
. का उपयोग कर सकते हैं यह पता लगाने के लिए कार्य करता है कि कोई वस्तु CHECK
है या नहीं बाधा।
यह फ़ंक्शन दो पैरामीटर स्वीकार करता है:ऑब्जेक्ट आईडी, और वह प्रॉपर्टी जिसके लिए आप इसकी जांच कर रहे हैं।
इसलिए, आप ऑब्जेक्ट आईडी को पहले तर्क के रूप में पास कर सकते हैं, और IsCheckCnst
दूसरे के रूप में, और फ़ंक्शन या तो 1
. लौटाएगा या एक 0
यह इस पर निर्भर करता है कि यह CHECK
है या नहीं बाधा
1
. का वापसी मान इसका मतलब है कि यह है एक CHECK
बाधा, और 0
. का मान इसका मतलब है कि ऐसा नहीं है।
उदाहरण 1 - चेक बाधा की जांच करना
प्रदर्शित करने के लिए यहां एक त्वरित उदाहरण दिया गया है।
परीक्षण का उपयोग करें;ऑब्जेक्टप्रॉपर्टी चुनें(178099675, 'IscheckCnst') AS [IsCheckCnst];
परिणाम:
+---------------+| IscheckCnst ||---------------|| 1 |+---------------+
इस मामले में, परीक्षण डेटाबेस में प्रदान की गई आईडी के साथ एक ऑब्जेक्ट है, और यह वास्तव में एक CHECK
है बाधा।
उदाहरण 2 - ऑब्जेक्ट आईडी प्राप्त करना
यदि आप वस्तु का नाम जानते हैं, लेकिन उसकी आईडी नहीं, तो आप OBJECT_ID()
का उपयोग कर सकते हैं आईडी को उसके नाम के आधार पर पुनः प्राप्त करने के लिए कार्य करता है।
उदाहरण:
ऑब्जेक्टप्रॉपर्टी चुनें(OBJECT_ID('chkEndDate'), 'IsCheckCnst') AS [IsCheckCnst];
परिणाम:
+---------------+| IscheckCnst ||---------------|| 1 |+---------------+
इस मामले में मैंने पिछले उदाहरण से उसी वस्तु की जाँच की।
यहां यह फिर से अलग से आईडी आउटपुट के साथ है।
चुनें OBJECT_ID('chkEndDate') AS [ऑब्जेक्ट आईडी], OBJECTPROPERTY(OBJECT_ID('chkEndDate'), 'IsCheckCnst') AS [IsCheckCnst];
परिणाम:
+--------------+---------------+| ऑब्जेक्ट आईडी | IscheckCnst ||---------------+---------------|| 17809675 | 1 |+---------------+---------------+
उदाहरण 3 - किसी तालिका की जाँच करना (अर्थात जाँच बाधा नहीं)
यहाँ क्या होता है जब ऑब्जेक्ट CHECK
. नहीं होता है बाधा।
ऑब्जेक्टप्रॉपर्टी चुनें(18099105, 'IscheckCnst') AS [IsCheckCnst];
परिणाम:
+---------------+| IscheckCnst ||---------------|| 0 |+---------------+
इस मामले में, डेटाबेस करता है वास्तव में उस आईडी के साथ एक वस्तु है, लेकिन वस्तु वास्तव में एक तालिका है, इसलिए मुझे नकारात्मक परिणाम मिलता है।
यहां यह फिर से OBJECT_ID()
का उपयोग कर रहा है ।
चुनें OBJECT_ID('व्यक्तिगत') AS [ऑब्जेक्ट आईडी], OBJECTPROPERTY(OBJECT_ID('Individual'), 'IsCheckCnst') AS [IsCheckCnst];
परिणाम:
+--------------+---------------+| ऑब्जेक्ट आईडी | IscheckCnst ||---------------+---------------|| 18099105 | 0 |+---------------+---------------+
उदाहरण 4 - वस्तु मौजूद नहीं है
SQL सर्वर मानता है कि ऑब्जेक्ट आईडी वर्तमान डेटाबेस संदर्भ में है। यदि आप किसी भिन्न डेटाबेस से ऑब्जेक्ट आईडी पास करते हैं, तो आपको या तो एक पूर्ण परिणाम मिलेगा या आपको गलत परिणाम मिलेंगे।
वस्तु चुनेंपरिणाम:
+---------------------+---------------+| अस्तित्वहीन वस्तु | 1111111 ||---------------------+---------------|| नल | नल |+---------------------+---------------+इस मामले में डेटाबेस में उस नाम या आईडी की कोई वस्तु नहीं है।