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