Syntax
------

[begin_label:] WHILE search_condition DO
  statement_list
END WHILE [end_label]

Description
-----------

The statement list within a WHILE statement is repeated as long as the
search_condition is true. statement_list consists of one or more statements.
If the loop must be executed at least once, REPEAT ... LOOP can be used
instead.

A WHILE statement can be labeled. end_label cannot be given unless begin_label
also is present. If both are present, they must be the same.

Examples
--------

CREATE PROCEDURE dowhile()
BEGIN
 DECLARE v1 INT DEFAULT 5;

WHILE v1 > 0 DO
  ...
  SET v1 = v1 - 1;
 END WHILE;
END

URL: https://mariadb.com/kb/en/while/