LOOP Statement with LEAVE : LOOP « Procedure Function « MySQL Tutorial






The LOOP statement creates a loop that will run until the LEAVE statement is invoked.

Optional to the LOOP is a label.

A label is a name and a colon prefixed to the LOOP statement.

mysql>
mysql> DELIMITER //
mysql> CREATE FUNCTION myFunction(quantity INT(10)) RETURNS INT(10)
    -> BEGIN
    ->
    ->     increment: LOOP
    ->
    ->     IF quantity MOD 10 < 1 THEN
    ->     LEAVE increment;
    ->     END IF;
    ->
    ->     SET quantity = quantity - 1;
    ->
    ->     END LOOP increment;
    ->
    ->     RETURN quantity;
    ->
    -> END
    -> //
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;
mysql>
mysql> select myFunction(10);
+----------------+
| myFunction(10) |
+----------------+
|             10 |
+----------------+
1 row in set (0.00 sec)

mysql>
mysql>
mysql> drop function myFunction;
Query OK, 0 rows affected (0.00 sec)

mysql>








11.18.LOOP
11.18.1.Simple LOOP
11.18.2.Nesting if statement with LOOP statement
11.18.3.LOOP with LEAVE
11.18.4.LOOP with ITERATE
11.18.5.LOOP Statement with LEAVE