इनपुट और आउटपुट पैरामीटर दोनों को डिफ़ॉल्ट असाइन किया जा सकता है। इस उदाहरण में:
CREATE PROCEDURE MyTest
@Data1 int
,@Data2 int = 0
,@Data3 int = null output
AS
PRINT @Data1
PRINT @Data2
PRINT isnull(@Data3, -1)
SET @Data3 = @Data3 + 1
RETURN 0
पहला पैरामीटर आवश्यक है, और दूसरा और तीसरा वैकल्पिक है - यदि कॉलिंग रूटीन द्वारा सेट नहीं किया गया है, तो उन्हें डिफ़ॉल्ट मान असाइन किए जाएंगे। यह देखने के लिए कि यह सब एक साथ कैसे काम करता है, विभिन्न मूल्यों और सेटिंग्स का उपयोग करके इसके साथ और SSMS में निम्नलिखित टेस्ट-कॉल रूटीन के साथ खिलवाड़ करने का प्रयास करें।
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output