2011-12-16 12 views
15

में मेरे पास एक SQL सर्वर संग्रहीत प्रक्रिया है; मुझे संग्रहीत प्रक्रिया से वापसी मूल्य कैप्चर करने की आवश्यकता है। क्या यह करने का यह सही तरीका है?एसक्यूएल सर्वर संग्रहीत प्रक्रिया कैप्चर रिटर्न वैल्यू टी-एसक्यूएल

declare valback varchar(30) 
    set valback = exec storeproc1 

इस मामले में, storeproc1 मेरी संग्रहीत प्रक्रिया है।

+1

आपको यह संकेत देने के लिए '@ valback' का उपयोग करने की आवश्यकता है। – JNK

+0

क्या आपके एसपी में एक OUTPUT पैरामीटर है जिसे आप पुनर्प्राप्त करने का प्रयास कर रहे हैं या आपका एसपी किसी प्रकार का सम्मिलित, अद्यतन या हटा देता है जिसे आप देखना चाहते हैं कि यह सफल हुआ है या नहीं? –

उत्तर

33

, शुरू उचित T-SQL सिंटैक्स का उपयोग करने के लिए:

declare @valback int; 
exec @valback = storeproc1; 

केवल वापसी संग्रहीत प्रक्रिया के लिए अनुमति प्रकार int है। संग्रहीत प्रक्रिया return कथन के माध्यम से स्थिति की वापसी।

मैं किसी भी तरह एक लग रहा है कि तुम सच में कुछ और चाहते हैं, अर्थात्: प्रक्रिया में एक OUTPUT parameter के लिए:

declare @valback varchar(30); 
exec storedproc1 @valback OUTPUT; 

या प्रक्रिया परिणाम INSERT ... EXEC के माध्यम से सेट पर कब्जा। How to Share Data Between Stored Procedures देखें।

संबंधित मुद्दे