[begin_label
:] LOOPstatement_list
END LOOP [end_label
]
LOOP
implements a simple loop construct, enabling repeated execution of the statement list, which consists of one or more statements, each terminated by a semicolon (;
) statement delimiter. LOOP
实现了一个简单的循环构造,允许重复执行语句列表,语句列表由一个或多个语句组成,每个语句以分号(;
)结尾语句分隔符。The statements within the loop are repeated until the loop is terminated. 循环中的语句将重复,直到循环终止。Usually, this is accomplished with a 通常,这是通过LEAVE
statement. LEAVE
声明来完成的。Within a stored function, 在存储函数中,还可以使用RETURN
can also be used, which exits the function entirely.RETURN
,它将完全退出函数。
Neglecting to include a loop-termination statement results in an infinite loop.忽略包含循环终止语句会导致无限循环。
A 可以标记LOOP
statement can be labeled. LOOP
语句。For the rules regarding label use, see Section 13.6.2, “Statement Labels”.有关标签使用的规则,请参阅第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;