मैं एसक्यूएल सर्वर 2008 का उपयोग कर रहा हूं। मुझे यह पता लगाने की ज़रूरत है कि डिफ़ॉल्ट मान बाधा मौजूद नहीं है या नहीं। मैंने जो कोशिश की है वह यहां है।आईएफ डिफ़ॉल्ट मूल्य प्रतिबंध मौजूद नहीं है कैसे जांचें?
IF (NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME ='MyConstraint'))
BEGIN
ALTER TABLE [XX] ADD CONSTRAINT [MyConstraint] DEFAULT ((-1)) FOR [XXXX]
END
GO
SQL सर्वर 2005 के रूप में, यह 'sys' स्कीमा से सूची दृश्य का उपयोग करने के लिए सिफारिश की है -' sys.columns', 'sys.tables' -' sysobjects' के बजाय इत्यादि। उन्हें SQL सर्वर –
@marc_s के भविष्य के संस्करण से हटा दिया जाएगा, मैंने कोड बदल दिया है, लेकिन 'sysobjects' आदि संगतता दृश्य ** ** लंबे समय तक होने जा रहे हैं ** समय अभी तक, कम से कम SQL सर्वर के अगले संस्करण से पहले। _ निम्नलिखित SQL सर्वर डेटाबेस इंजन सुविधाओं को SQL सर्वर के ** अगले ** संस्करण में समर्थित हैं, लेकिन बाद के संस्करण में हटा दिए जाएंगे। SQL सर्वर का विशिष्ट संस्करण निर्धारित नहीं किया गया है ._ [लिंक] (http://msdn.microsoft.com/en-us/library/ms143729.aspx) – RichardTheKiwi
@ रिचर्डथीकिवी - आपके लिंक में इसकी तीसरी वाक्य के रूप में शामिल है "बहिष्कृत सुविधाओं को नए अनुप्रयोगों में इस्तेमाल नहीं किया जाना चाहिए। " –