La sentencia REPEAT procesa una secuencia de sentencias y luego evalúa la expresión de condición.
La sentencia REPEAT repite los pasos hasta que la condición es TRUE. Asegúrese de que la lógica del programa finalice el bucle. Si la condición se evalúa en UNKNOWN, el bucle no finaliza.
Si está presente, Label proporciona un nombre a la sentencia. Esto no tiene efecto alguno en el comportamiento de la sentencia REPEAT, pero permite que las sentencias incluyan sentencias ITERATE y LEAVE u otras sentencias con Label que, a su vez, incluyen ITERATE y LEAVE. Label sólo puede aparecer por segunda vez si existe un primer Label y, de ser así, ambos deben ser idénticos. Dos o más sentencias con Label en el mismo nivel pueden tener el mismo Label pero esto niega en parte la ventaja del segundo Label. La ventaja es que ambos Label hacen que cada END coincida con su REPEAT. No obstante, una sentencia que contiene Label en sentencias no puede tener el mismo Label o porque esto hace que el comportamiento de las sentencias ITERATE y LEAVE sea ambiguo.
DECLARE i INTEGER; SET i = 1; X : REPEAT ... SET i = i + 1; UNTIL i >= 3 END REPEAT X;