मैंने इसके साथ एक डिफ़ॉल्ट पैरामीटर मान को बदलने की कोशिश की:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
और सभी SQL पूर्व संकलक ने मुझे यह त्रुटि दी थी:
Msg 102, स्तर 15, राज्य 1, प्रक्रिया my_sp, पंक्ति 8 गलत सिंटैक्स पास '(')।
मैंने पहले ही प्रक्रिया बना ली है। (मुझे यकीन नहीं है कि अगर यह प्रासंगिक है।) मैं एक अशक्त डिफ़ॉल्ट मूल्य का उपयोग कर रहा था और बाद के लिए जाँच कर रहा था, लेकिन यह उचित नहीं लगता है। क्या मैं एक लाइन में ऐसा कर सकता हूं?
अद्यतन: मैं MSDN संग्रहीत कार्यविधि मापदंडों के विवरण से दूर जा रहा था :
[= default] पैरामीटर के लिए एक डिफ़ॉल्ट मान है। यदि एक डिफ़ॉल्ट मान परिभाषित किया गया है, तो उस पैरामीटर के लिए मान निर्दिष्ट किए बिना फ़ंक्शन को निष्पादित किया जा सकता है।
नोट:
डिफ़ॉल्ट पैरामीटर मानों को CLR फ़ंक्शंस के लिए निर्दिष्ट किया जा सकता है सिवाय varchar (मैक्सिमम) और वर्बिनरी (मैक्सिमम) के डेटा प्रकारों के।जब फ़ंक्शन के एक पैरामीटर का डिफ़ॉल्ट मान होता है, तो फ़ंक्शन को डिफ़ॉल्ट मान को पुनर्प्राप्त करने के लिए कहा जाता है, तब कीवर्ड DEFAULT को निर्दिष्ट किया जाना चाहिए। यह व्यवहार संग्रहीत कार्यविधियों में डिफ़ॉल्ट मानों के साथ मापदंडों का उपयोग करने से भिन्न होता है जिसमें पैरामीटर को छोड़ने से डिफ़ॉल्ट मान भी निकलता है।
क्या मैं यह गलत पढ़ रहा हूँ?
बहुत धन्यवाद।