Die WHILE-Anweisung wertet einen Konditionsausdruck aus. Wenn dieser den Wert TRUE hat, wird eine Folge von Anweisungen ausgeführt.
Die WHILE-Anweisung wiederholt die in DO angegebenen Schritte so lange, wie die Bedingung TRUE lautet. Stellen Sie sicher, dass die Logik des Programms so beschaffen ist, dass die Schleife beendet wird. Falls die Bedingung UNKNOWN ergibt, wird die Schleife sofort beendet.
Falls vorhanden, gibt die Kennung der Anweisung einen Namen. Dies hat keine Auswirkungen auf das Verhalten der WHILE-Anweisung selbst, lässt jedoch zu, dass darin ITERATE- und LEAVE-Anweisungen oder andere gekennzeichnete Anweisungen, die diese wiederum mit einschließen können, enthalten sein können. Die zweite Kennung kann nur dann vorhanden sein, wenn die erste Kennung vorhanden ist. In diesem Fall müssen die Kennungen identisch sein. Es ist kein Fehler, wenn zwei oder mehr gekennzeichnete Anweisungen auf derselben Ebene dieselbe Kennung haben, dies hebt jedoch den Vorteil der zweiten Kennung teilweise auf. Der Vorteil besteht in der eindeutigen und genauen Zuordnung von jeder END-Anweisung zur dazugehörigen WHILE-Anweisung. Es ist jedoch ein Fehler, wenn eine innerhalb von Anweisungen gekennzeichnete Anweisung dieselbe Kennung hat, da dadurch das Verhalten von ITERATE- und LEAVE-Anweisungen mehrdeutig wird.
DECLARE i INTEGER; SET i = 1; X : WHILE i <= 3 DO ... SET i = i + 1; END WHILE X;