MySQL 8.4 发行说明
[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;