LOOP#
Synopsis#
[label :] LOOP
statements
END LOOP
Description#
The LOOP statement is an optional construct in SQL
routines to allow processing of a block of statements
repeatedly.
The block of statements is processed at least once. After the first, and every
subsequent processing the expression condidtion is validated. If the result is
true, processing moves to END REPEAT and continues with the next statement in
the function. If the result is false, the statements are processed again
repeatedly.
The optional label before the REPEAT keyword can be used to name the
block.
Note that a WHILE statement is very similar, with the difference that for
REPEAT the statements are processed at least once, and for WHILE blocks the
statements might not be processed at all.
Examples#
The following function counts up to 100 in a loop starting from the input
value i and returns the number of incremental steps in the loop to get to
100.
FUNCTION to_one_hundred(i int)
RETURNS int
BEGIN
DECLARE count int DEFAULT 0;
abc: LOOP
IF i >= 100 THEN
LEAVE abc;
END IF
SET count = count + 1;
SET i = i + 1;
END LOOP;
RETURN;
END
Further examples of varying complexity that cover usage of the LOOP statement
in combination with other statements are available in the SQL routines examples
documentation.