REPEAT 语句处理语句序列,然后对条件表达式求值。
REPEAT 语句重复这些步骤,直到条件为 TRUE。确保程序的逻辑终止循环。如果条件的求值结果为 UNKNOWN,则循环不终止。
如果 Label 存在,它将为语句提供一个名称。这对 REPEAT 语句的行为没有影响,但它允许语句能包含 ITERATE 和 LEAVE 语句或其他有标号语句(它依次包含 ITERATE 和 LEAVE)。只有存在第一个 Label,第二个 Label 才能存在。如果都存在,两者必须相同。同一级别的两个或更多有标号语句有相同的标号,但这部分抵消了使用第二个 Label 所带来的好处。好处是这样可以明白准确地将每个 END 与它的 REPEAT 进行匹配。但是,语句中有标号的语句不能具有相同的标号,因为这将使 ITERATE 和 LEAVE 语句的行为不确定。
DECLARE i INTEGER; SET i = 1; X : REPEAT ... SET i = i + 1; UNTIL i >= 3 END REPEAT X;