MySQL 9.1 Release Notes
        
[begin_label:] REPEAT
    statement_list
UNTIL search_condition
END REPEAT [end_label]
        The statement list within a
        REPEAT statement is repeated
        until the search_condition expression
        is true. Thus, a REPEAT always
        enters the loop at least once.
        statement_list consists of one or
        more statements, each terminated by a semicolon
        (;) statement delimiter.
      
        A REPEAT statement can be
        labeled. For the rules regarding label use, see
        Section 15.6.2, “Statement Labels”.
      
Example:
mysql> delimiter //
mysql> CREATE PROCEDURE dorepeat(p1 INT)
       BEGIN
         SET @x = 0;
         REPEAT
           SET @x = @x + 1;
         UNTIL @x > p1 END REPEAT;
       END
       //
Query OK, 0 rows affected (0.00 sec)
mysql> CALL dorepeat(1000)//
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @x//
+------+
| @x   |
+------+
| 1001 |
+------+
1 row in set (0.00 sec)