A instrução REPEAT processa uma seqüência de instruções e, em seguida, avalia a expressão de condição.
A instrução REPEAT repete as etapas até que a condição seja TRUE. Certifique-se de que a lógica do programa oferece alguma maneira de encerrar o loop. Se a condição resultar em UNKNOWN, o loop não termina.
Se presente Label fornecerá um nome à instrução. Isso não tem efeito sobre o comportamento da instrução REPEAT, mas permite que as instruções incluam instruções ITERATE e LEAVE ou outras instruções rotuladas, que por sua vez incluem ITERATE e LEAVE. O segundo Label pode estar presente somente se o primeiro Label estiver presente e, se estiver, os rótulos devem ser idênticos. Duas ou mais instruções rotuladas no mesmo nível podem ter o mesmo Label, mas isso nega parcialmente a vantagem do segundo Label. A vantagem é que corresponde cada END com o seu REPEAT de maneira não ambígua e precisa. No entanto, uma instrução rotulada dentro de instruções não pode ter o mesmo rótulo, porque isso torna ambíguo o comportamento das instruções ITERATE e LEAVE.
DECLARE i INTEGER; SET i = 1; X : REPEAT ... SET i = i + 1; UNTIL i >= 3 END REPEAT X;