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