文档首页
MySQL 9.0 参考手册
相关文档 下载此手册

MySQL 9.0 参考手册  /  ...  /  语句标签

15.6.2 语句标签

Press CTRL+C to copy
[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 块以及 LOOPREPEATWHILE 语句。这些语句的标签使用遵循以下规则:

  • begin_label 必须后跟冒号。

  • begin_label 可以不带 end_label。如果存在 end_label,它必须与 begin_label 相同。

  • end_label 不能不带 begin_label

  • 同一嵌套级别的标签必须是不同的。

  • 标签最多可以包含 16 个字符。

要在标记的结构中引用标签,请使用 ITERATELEAVE 语句。以下示例使用这些语句来继续迭代或终止循环:

Press CTRL+C to copy
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;

块标签的作用域不包括块内声明的处理程序的代码。有关详细信息,请参见 第 15.6.7.2 节,“DECLARE ... HANDLER 语句”