Skip to content

17.2 语句标签

1. 语法及规则

[begin_label:] BEGIN
    [statement_list]
END [end_label]

[begin_label:] LOOP
    statement_list
END LOOP [end_label];

[begin_label:] REPEAT
    statement_list
UNTIL search_condition
END REPEAT [end_label];

[begin_label:] WHILE search_condition DO
    statement_list
END WHILE [end_label];

使用规则:

  • end_label可以没有,但是如果存在则必须和begin_label一致
  • 不能只有end_label
  • 同一个嵌套等级的label不能重复
  • label至多有16个字符长度

2. 使用

使用ITERATE进入,使用LEAVE离开。

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