का उपयोग करने के लिए जब आप एक आउटपुट पैरामीटर बनाम रिटर्न वैरिएबल का उपयोग करते हैं, या इसके विपरीत? निम्नलिखित सरल उदाहरण में, मैं एक ही चीज़ का उपयोग कर एक ही चीज़ प्राप्त कर सकता हूं।संग्रहित प्रक्रिया, आउटपुट पैरामीटर बनाम रिटर्न वैरिएबल
उत्पादन पैरामीटर
create proc dbo.TestOutput (@InValue int, @OutValue int output)
as
set @OutValue = @InValue
declare @x int
exec TestOutput @InValue = 3, @OutValue = @x output
select @x
वापसी चर का उपयोग का उपयोग करना:
create proc dbo.TestReturn (@InValue int)
as
return @InValue
declare @x int
exec @x = TestReturn @InValue = 3
select @x
आप देख सकते हैं, वे दोनों एक ही काम करते हैं। क्या कोई मुझे एक उदाहरण दिखा सकता है जहां आउटपुट पैरामीटर की पसंद एक रिटर्न वैरिएबल बनाम एक फर्क पड़ता है?
आप अपने दूसरे उदाहरण पर पुनर्विचार कर सकते हैं, जैसा कि यह कोई दिलचस्प काम करने से पहले लौटाता है;) –
यह पहले उदाहरण के रूप में उतना ही काम करता है। BEGIN/END की कमी पर ध्यान दें - इनमें से प्रत्येक प्रो में एक ही कथन शामिल है। प्रत्येक उदाहरण में दूसरा ब्लॉक पहला ब्लॉक कहता है। – Timbo