REPEAT문은 일련의 명령문을 실행한 다음 조건 표현식을 평가합니다.
REPEAT문은 조건이 TRUE가 될때까지 이들 단계를 반복합니다. 프로그램의 논리가 루프가 종료되는 것인지 확인해야 합니다. 조건이 UNKNOWN으로 평가되는 경우 루프가 종료되지 않습니다.
Label이 있는 경우 명령문에 이름을 부여합니다. REPEAT문 자체의 작동에는 영향을 주지 않지만 명령문에 ITERATE 및 LEAVE 명령문을 포함시키거나 차례대로 ITERATE 및 LEAVE가 포함되는 다른 레이블이 있는 명령문을 포함시키도록 합니다. 첫 번째 Label이 있는 경우에만 두 번째 Label이 제공될 수 있으며 서로 동일해야 합니다. 같은 레벨에서 둘 이상의 레이블된 명령문이 같은 레이블을 사용할 수 있지만, 이 경우 두 번째 레이블의 장점이 부분적으로 없어지게 됩니다. 장점은 각 END를 각각의 REPEAT와 정확하게 일치시킨다는 것입니다. 그러나, 명령문 내에서 레이블된 명령문이 같은 레이블을 사용하면 ITERATE 및 LEAVE문의 작동이 모호하게 되므로 같은 레이블을 사용할 수 없습니다.
DECLARE i INTEGER; SET i = 1; X : REPEAT ... SET i = i + 1; UNTIL i >= 3 END REPEAT X;