指定已标记的FOR 循环

要创建已标记的 FOR 循环,在最初的 FOR 关键字之前声明循环标签,在 END FOR 关键字之后重复此标签,如下所示:
CREATE PROCEDURE ex_cont_ex()
        DEFINE i,s,j, INT;
        <<for_lab>>
        FOR j = 1 TO 20
        IF j > 10 THEN 
        CONTINUE FOR;
        END IF
        LET i,s = j,0;
        WHILE i > 0
        LET i = i -1;
        IF i = 5 THEN
        EXIT for_lab;
        END IF
        END WHILE
        END FOR for_lab
        END PROCEDURE;

这里 EXIT for_lab 语句具有与 EXITEXIT FOR 关键字相同的作用,都终止了 FOR 循环和例程。在此示例中,包含 EXIT for_lab 语句的语句具有与 EXIT for_lab WHEN i = 5 相同的效果。

您还可以标记紧跟在初始 FOR 关键字之前的循环 <<label>> 规范开头的 LOOP 语句。在这种类型的循环中,CONTINUE LOOP 、EXIT LOOP 和 END LOOP 关键字会替换 CONTINUE FOR 、EXIT FOR 和 END FOR 关键字。在 CONTINUE 和 EXIT 关键字之后的 LOOP 和 FOR 关键字都是可选的,但是在包含 LOOP 关键字的 SPL 循环语句中需要 END LOOP 关键字。

您可以使用类似的语法创建一个未标记的循环,省略紧跟在初始 FOR 关键字之前的 <<label>> 规范。在这种情况下,还必须省略 END LOOP 关键字后面的未定义循环标签标识符。有关这些形式的带标签和为标记循环语句的描述和示例,请参阅 LOOP 语句,这些语句使您能够将 FOR 语句语法与有限数量的循环迭代结合在一起,并与 LOOP 语句的“永久循环”语法相结合使用。

相关语句

<< Label >> 语句CONTINUEEXITLOOPFOREACHWHILE