IF स्टेटमेंट के साथ MySQL WHILE LOOP को लागू करने के लिए निम्नलिखित एक उदाहरण है। हम एक संग्रहित प्रक्रिया में उपयोग कर रहे हैं
हमारी संग्रहीत कार्यविधि बनाने के लिए निम्नलिखित क्वेरी है:
mysql> DELIMITER //mysql> बनाने की प्रक्रिया sp_getDaysDemo() -> BEGIN -> SELECT MONTH(CURDATE()) INTO @current_month; -> चुनें MONTHNAME(CURDATE()) INTO @current_monthname; -> दिन चुनें (LAST_DAY (CURDATE ())) @total_numberofdays में; -> CAST चुनें (DATE_FORMAT (अब (), '% Y-% m-01') DATE के रूप में) INTO @check_weekday; -> चयन दिवस (@check_weekday) @check_day में; -> सेट @count_days =0; -> सेट @ कार्यदिवस =0; -> -> WHILE(@count_days <@total_numberofdays) DO -> IF (सप्ताह का दिन(@check_weekday) <5) तब -> सेट @workdays =@workdays+1; -> अंत अगर; -> सेट @count_days =@count_days+1; -> @check_weekday में जोड़ें(@check_weekday, INTERVAL 1 DAY) चुनें; -> अंत में; -> -> चुनें @current_month,@current_monthname,@total_numberofdays,@check_weekday,@check_day; -> END -> -> // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.24 सेकंड)mysql> सीमांकक;
कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें। वाक्य रचना इस प्रकार है:
कॉल yourStoreedProcedureName();
अब आप निम्न क्वेरी का उपयोग करके संग्रहीत कार्यविधि को कॉल कर सकते हैं:
mysql> कॉल sp_getDaysDemo();
निम्न आउटपुट है:
<पूर्व>+----------------+----------------------+---------- -------------+----------------+---------------+| @current_month | @current_monthname | @total_numberofdays | @check_weekday | @check_day |+----------------+----------------------+---------- -------------+----------------+---------------+| 1 | जनवरी | 31 | 2019-02-01 | 1 |+----------------+--------------------------+----------- ------------+----------------+---------------+1 पंक्ति सेट में (0.00 सेकंड )क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.02 सेकंड)