CREATE PROCEDURE ex_cont_ex() DEFINE i,s,j, INT; <<while_jlab>> WHILE j < 20 IF j > 10 THEN CONTINUE WHILE; END IF LET i,s = j,0; <<while_slab>> WHILE i > 0 LET i = i -1; IF i = 5 THEN EXIT while_jlab; END IF END WHILE while_slab END WHILE while_jlab END PROCEDURE;
此处的 EXIT while_jlab 语句与 EXIT 或 EXIT FOR 关键字具有相同的效果,终止外部 WHILE 循环和例程。在这个例子中,包括 EXIT while_jlab 语句的语句具有与 EXIT while_jlab WHEN i = 5 相同的效果。
您还可以标记以紧跟在初始 WHILE 关键字和条件之前的循环 <<label>> 规范开头的 LOOP 语句。在这种类型的循环中,CONTINUE LOOP 、EXIT LOOP 和 END LOOP 关键字将替换 CONTINUE WHILE 、EXIT WHILE 和 END WHILE 关键字。LOOP 和 WHILE 关键字在 CONTINUE 和 EXIT 关键字之后都是可选的,但是在包含 LOOP 关键字的 SPL 循环语句中需要 END LOOP 关键字。
您可以使用类似的语法创建一个未标记的循环,省略紧跟在 WHILE 条件规范之前的 <<label>>声明。在这种情况下,还必须省略 END LOOP 关键字后面的未定义循环标签标识符。有关这些形式的标记和未标记的循环语句的描述和示例,请参阅 LOOP 语句,这些语句使您能够将 WHILE 语句语法及其基于条件的循环迭代数与 LOOP 语句的“循环永远”语法相结合。