语句标签
[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]
标签允许使用 BEGIN ... END
blocks,对于 LOOP
, REPEAT
, and WHILE
,标签有以下规则:
-
begin_label
后面必须有冒号。 -
begin_label
可以不带给出end_label
。如果end_label
存在,则必须与相同begin_label
。 -
没有
begin_label
就不能有
。end_label
-
同一嵌套级别的标签必须是不同的。
-
标签最多可包含16个字符。
在标签构造中引用标签,请使 ITERATE
or 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;
块标签的范围不包括在块内声明的处理程序的代码。