MySQL 9.0 发行说明
[begin_label:] LOOP
statement_list
END LOOP [end_label]
LOOP
实现了一个简单的循环构造,可以重复执行语句列表,语句列表包含一个或多个语句,每个语句都以分号 (;
) 语句分隔符结束。循环内的语句会重复执行,直到循环终止。通常,这是通过 LEAVE
语句实现的。在存储函数中,也可以使用 RETURN
,它会完全退出函数。
如果未包含循环终止语句,则会导致无限循环。
LOOP
语句可以加标签。有关标签使用规则,请参见 第 15.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;