Microsoft SQL सर्वर में, मुझे पता है कि अगर एक कॉलम के लिए एक डिफ़ॉल्ट बाधा मौजूद है और एक डिफ़ॉल्ट बाधा को रोकने के लिए क्वेरी की जाँच करें:
IF EXISTS(SELECT * FROM sysconstraints
WHERE id=OBJECT_ID('SomeTable')
AND COL_NAME(id,colid)='ColName'
AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
लेकिन डेटाबेस के पिछले संस्करणों में टाइपो के कारण, बाधा का नाम DF_SomeTable_ColNameया हो सकता है DF_SmoeTable_ColName।
बिना किसी SQL त्रुटियों के मैं डिफ़ॉल्ट बाधा कैसे हटा सकता हूं? डिफ़ॉल्ट बाधा नाम INFORMATION_SCHEMA तालिका में दिखाई नहीं देते हैं, जो चीजों को थोड़ा पेचीदा बना देता है।
इसलिए, 'इस तालिका / कॉलम में डिफ़ॉल्ट अवरोध हटाएं', या 'हटाएं DF_SmoeTable_ColName' जैसी कोई चीज , लेकिन इसे गलत मानने पर कोई त्रुटि न दें।