13.6.5.5 Оператор LOOP
[begin_label:] LOOP
statement_list
END LOOP [end_label]
LOOP реализует простой цикл, позволяющий многократно выполнить список операторов, состоящий из одного или нескольких операторов, каждый из которых завершается точкой с запятой (;) разделителем операторов. Операторы внутри цикла повторяются до тех пор, пока цикл не будет завершен. Обычно это достигается с помощью оператора LEAVE. Внутри хранимой функции также можно использовать RETURN, который полностью выходит из функции.
Пропуск оператора завершения цикла приводит к бесконечному циклу.
Оператор LOOP может быть помечен. Правила использования меток см. в разделе 13.6.2, «Метки операторов».
Пример:
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;
© 2025 Oracle
Licensed under the GPLv2 License.