Statement Label Syntax
Labels are permitted for BEGIN ... END blocks and for the LOOP, REPEAT, and WHILE statements. Label use for those statements follows these rules:
begin_labelmust be followed by a colon.begin_labelcan be given withoutend_label. Ifend_labelis present, it must be the same asbegin_label.end_labelcannot be given withoutbegin_label.- Labels at the same nesting level must be distinct.
- Labels can be up to 16 characters long.
To refer to a label within the labeled construct, use an ITERATE or LEAVE statement. The following example uses those statements to continue iterating or terminate the loop:
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;
The scope of a block label does not include the code for handlers declared within the block. For details, see , "DECLARE ... HANDLER Syntax".