How MySQL REPEAT loop statement can be used in stored procedure?


As we know that MySQL provides us loop statements that allow us to execute a block of SQL code repeatedly based on a condition. A REPEAT loop statement is one of such kind of loop statement. Its syntax is as follows −

REPEAT
   statements;
UNTIL expression
END REPEAT

First of all, MySQL executes the statements, and then it evaluates the expression. If the expression evaluates to FALSE, MySQL executes the statements repeatedly until the expression evaluates to TRUE. The REPEAT loop checks the expression after the statements execute, that is why it is also called a post-test loop.

To demonstrate the use of a REPEAT loop with stored procedures, the following is an example −

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)

Now, we can see the result below when we invoke this procedure −

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)

Updated on: 22-Jun-2020

656 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements