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 语句具有与 EXIT 或 EXIT 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 语句的“永久循环”语法相结合使用。