संग्रहीत प्रक्रिया से एक मान वापस करने के लिए, आपको उपयोगकर्ता परिभाषित सत्र विशिष्ट चर का उपयोग करने की आवश्यकता है। वैरिएबल नाम से पहले @ सिंबल जोड़ें।
उदाहरण के लिए, वैरिएबल वैलिडो के लिए @symbol का उपयोग करें। उसी के लिए वाक्य रचना इस प्रकार है:
चुनें @valido;
जब भी आप सेलेक्ट स्टेटमेंट का उपयोग करते हैं, तो आपको @anyVariableName का उपयोग करना होगा। वाक्य रचना इस प्रकार है:
चुनें @anyVariableName;
यहाँ वापसी मूल्य की संग्रहीत कार्यविधि का डेमो दिया गया है। संग्रहीत कार्यविधि बनाने की क्वेरी इस प्रकार है:
mysql> प्रक्रिया बनाएं ReturnValueFrom_StoredProcedure -> ( -> num1 int में, -> num2 int में, -> वैलिडो int -> ) -> प्रारंभ करें -> IF (num1> 4 और num2> 5) फिर -> SET वैधो =(संख्या 1 + संख्या 2); -> ELSE -> मान्य सेट करें =(num1-num2); -> अंत अगर; -> @valido चुनें; -> समाप्त//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.32 सेकंड)mysql> DELIMITER;
कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें। क्वेरी इस प्रकार है:
mysql> कॉल ReturnValueFrom_StoreedProcedure(10,6,@TotalSum);+---------+| @valido |+------------+| NULL |+-----------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)
अब सेलेक्ट स्टेटमेंट का उपयोग करके संग्रहित प्रक्रिया के परिणाम की जाँच करें। क्वेरी इस प्रकार है:
mysql> @TotalSum चुनें;
निम्न आउटपुट है:
<पूर्व>+-----------+| @TotalSum |+-----------+| 16 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)अब दो मूल्यों के अंतर के लिए दूसरी कॉल। संग्रहीत कार्यविधि को कॉल करें।
mysql> कॉल ReturnValueFrom_StoreedProcedure(4,2,@TotalDiff);+---------+| @valido |+------------+| NULL |+-----------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)
चयन कथन का उपयोग करके उपयोगकर्ता परिभाषित सत्र-विशिष्ट चर से परिणाम की जाँच करें। क्वेरी इस प्रकार है:
mysql> @TotalDiff चुनें;
निम्न आउटपुट है:
<पूर्व>+---------------+| @TotalDiff |+---------------+| 2 |+---------------+1 पंक्ति सेट में (0.00 सेकंड)