LOOP
Оператор LOOP
Оператор LOOP призначений для реалізації циклів і має наступний синтаксис:
[label:] LOOP
statement_list END LOOP [label]
Цикл LOOP, на відміну від операторів WHILE і REPEAT, не має умов виходу. Тому даний вид циклу повинен обов'язково мати у своєму складі оператор LEAVE.
Збережену процедуру binrand (), наведену у прикладі, можна переписати з використанням циклу LOOP, як це зроблено в наступному лістингу.
Приклад:
CREATE PROCEDURE binrand ()
LANGUAGE SQL
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE bin TINYTEXT DEFAULT '';
wet : LOOP
SET i = i + 1;
IF RANDO >0.5 THEN SET bin = CONCAT(bin, ' 1') ;
ELSE SET bin = CONCAT(bin, '0');
END IF;
IF i >= 20 THEN LEAVE wet;
END IF;
END LOOP wet;
SELECT bin;
END //
CALL binrand()//
bin
01000111011110001110