ITERATE label
ITERATE can appear only within LOOP, REPEAT, and WHILE statements. ITERATE means "do the loop again", and uses the statement's label to determine which statements to repeat. The label must be in the same stored program, not in a caller procedure.
If you try to use ITERATE with a non-existing label, or if the label is associated to a construct which is not a loop, the following error will be produced:
ERROR 1308 (42000): ITERATE with no matching label: <label_name>
Below is an example of how ITERATE might be used:
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN ITERATE label1; END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/iterate/