语句标签
[begin_label:] BEGIN[statement_list]END [end_label][begin_label:] LOOPstatement_listEND LOOP [end_label][begin_label:] REPEATstatement_listUNTIL search_conditionEND REPEAT [end_label][begin_label:] WHILE search_condition DOstatement_listEND WHILE [end_label]
标签允许用于 BEGIN ... END 块和 LOOP、REPEAT 以及 WHILE 语句。用于这些语句的标签遵循以下规则:
● begin_label 后面必须跟一个冒号。
● 可以只有 begin_label 没有 end_label。如果存在 end_label,则它必须与 begin_label 相同。
● 不能只有 end_label 标签,没有 begin_label 标签。
● 同一嵌套级别的标签必须是不同的。
● 标签最长可达16个字符。
要在标签结构中引用标签,请使用 ITERATE 或 LEAVE 语句。以下示例使用这些语句继续迭代或终止循环:
CREATE PROCEDURE doiterate(p1 INT)BEGINlabel1: LOOPSET p1 = p1 + 1;IF p1 < 10 THEN ITERATE label1; END IF;LEAVE label1;END LOOP label1;END;
块标签的作用域不包括块中声明的用于 handler 的代码。
官方网址:
https://dev.mysql.com/doc/refman/8.0/en/statement-labels.html
文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




