文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (美国信纸) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.6.5.5 LOOP 语句

[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;