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)