WHILE loop lặp dựa trên điều kiện. Cú pháp:
WHILE expression DO statements END WHILE
Kiểm tra expression trước mỗi lần lặp (pre-test loop). Nếu TRUE thì chạy statements cho đến khi FALSE.
Ví dụ procedure While_Loop:
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)
Gọi procedure:
mysql> DELIMITER ; mysql> CALL While_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.03 sec)