MySQL লুপ স্টেটমেন্ট সরবরাহ করে যা একটি শর্তের ভিত্তিতে SQL কোড ব্লক বারবার এক্সিকিউট করার অনুমতি দেয়। WHILE লুপ স্টেটমেন্ট তার একটা ধরন। এর সিনট্যাক্স নিচে দেওয়া হলো:
WHILE expression DO statements END WHILE
আসলে, WHILE লুপ প্রতিটি ইটারেশনের শুরুতে এক্সপ্রেশন চেক করে। এক্সপ্রেশন TRUE হলে, MySQL WHILE এবং END WHILE-এর মাঝপথে থাকা স্টেটমেন্টগুলো এক্সিকিউট করে যতক্ষণ না এক্সপ্রেশন FALSE হয়। 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)