13.6.5.5 LOOP 声明
[begin_label:] LOOP
statement_list
END LOOP [end_label]
LOOP实现了一个简单的循环构造,使语句列 table 的重复执行成为可能,该语句列 table 由一个或多个语句组成,每个语句均以分号(;
)语句定界符终止。重复循环中的语句,直到循环终止。通常,这是通过LEAVE语句完成的。在存储的函数中,也可以使用RETURN,它会完全退出该函数。
忽略包含循环终止语句会导致无限循环。
可以标记LOOP语句。有关标签使用的规则,请参见第 13.6.2 节“声明标签”。
Example:
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;