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