जैसा कि हम जानते हैं कि MySQL हमें लूप स्टेटमेंट्स प्रदान करता है जो हमें एक शर्त के आधार पर SQL कोड के ब्लॉक को बार-बार निष्पादित करने की अनुमति देते हैं। WHILE लूप स्टेटमेंट ऐसा ही एक प्रकार का लूप स्टेटमेंट है। इसका सिंटैक्स निम्नानुसार है:
WHILE expression DO statements END WHILE
वास्तव में, WHILE लूप प्रत्येक पुनरावृत्ति की शुरुआत में अभिव्यक्ति की जांच करता है। यदि अभिव्यक्ति सत्य मूल्यांकन करती है, तो MySQL WHILE और END WHILE के बीच स्टेटमेंट्स को तब तक निष्पादित करेगा जब तक अभिव्यक्ति असत्य मूल्यांकन न करे। WHILE लूप स्टेटमेंट्स निष्पादित होने से पहले अभिव्यक्ति की जांच करता है, इसलिए इसे प्रीटेस्ट लूप भी कहा जाता है।
स्टोर्ड प्रोसीजर के साथ WHILE लूप के उपयोग को प्रदर्शित करने के लिए, निम्नलिखित एक उदाहरण है:
mysql> DELIMITER //
mysql> CREATE PROCEDURE While_Loop()
-> BEGIN
-> DECLARE A INT;
-> DECLARE XYZ VARCHAR(50);
-> SET A = 1;
-> SET XYZ = '';
-> WHILE A <= 10 DO
-> SET XYZ = CONCAT(XYZ, A, ',');
-> SET A = A + 1;
-> END WHILE;
-> SELECT XYZ;
-> END //
Query OK, 0 rows affected (0.31 sec)
अब, हम इस प्रोसीजर को आह्वान करते समय नीचे परिणाम देख सकते हैं:
mysql> DELIMITER ; mysql> CALL While_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.03 sec)