आप IN और OUT का उपयोग करके एक पैरामीटर बना सकते हैं। IN का उपयोग इनपुट पैरामीटर लेने के लिए किया जाता है और OUT का उपयोग आउटपुट के लिए किया जा सकता है।
वाक्य रचना इस प्रकार है
DELIMITER // अपना प्रक्रिया नाम बनाएं (आपके पैरामीटर नाम डेटा प्रकार में, अपने पैरामीटर नाम डेटा प्रकार से बाहर) BEGINyourStatement1;yourStatement2;..NEND;//DELIMITER;
सबसे पहले, हम एक टेबल बनाएंगे। तालिका बनाने की क्वेरी इस प्रकार है
mysql> तालिका बनाएं SumOfAll -> ( -> राशि int -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.78 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है
mysql> SumOfAll मानों (100) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> SumOfAll मानों में डालें (330); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड) mysql> SumOfAll मानों में डालें ( 450);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड)mysql> SumOfAll मान (400) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है
mysql> SumOfAll से *चुनें;
निम्न आउटपुट है
<पूर्व>+--------+| राशि |+-----+| 100 || 330 || 450 || 400 |+----------+4 पंक्तियाँ सेट में (0.00 सेकंड)अब, हम एक संग्रहीत कार्यविधि बनाएंगे जो यह जांच करेगी कि मान तालिका में मौजूद है या नहीं। यदि दिया गया मान तालिका में मौजूद नहीं है तो आपको NULL मान मिलेगा।
संग्रहित प्रक्रिया इस प्रकार है
mysql> DELIMITER //mysql> प्रक्रिया बनाएं sp_ChechValue(IN value1 int, OUT value2 int) -> start -> set value2=(SumOfAll से Amount चुनें जहां Amount=value1); -> अंत; ->//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.20 सेकंड)mysql> सीमांकक;
आइए हम संग्रहीत कार्यविधि को कुछ मान के साथ कॉल करें और आउटपुट को सत्र चर में संग्रहीत करें।
केस 1:जब मान तालिका में मौजूद न हो।
mysql> कॉल sp_ChechValue(300,@isPresent);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)
अब सेलेक्ट स्टेटमेंट का उपयोग करके वेरिएबल @isPresent में वैल्यू चेक करें। क्वेरी इस प्रकार है
mysql> @isPresent चुनें;
निम्न आउटपुट है
<पूर्व>+---------------+| @isPresent |+---------------+| NULL |+---------------+1 पंक्ति सेट में (0.00 सेकंड)केस 2:जब मान मौजूद हो।
क्वेरी इस प्रकार है। आइए हम संग्रहीत कार्यविधि को कॉल करें
mysql> कॉल sp_ChechValue(330,@isPresent);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)
सत्र चर @isPresent के मान की जाँच करें। क्वेरी इस प्रकार है
mysql> @isPresent चुनें;
निम्न आउटपुट है
<पूर्व>+---------------+| @isPresent |+---------------+| 330 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)