Transact SQL – Iterationsanweisung
Die in einer Iteration enthaltenen Anweisungen werden solange wiederholt ausgeführt, bis ein definiertes Abbruchkriterium der Schleife erfüllt ist.
WHILE
Die im Rumpf der while-Schleife enthaltenen Anweisungen werden solange ausgeführt, bis die Auswertung des Schleifenkopfs false ergibt. Außer mit der im Kopf definierten Abbruchbedingung, kann die while-Schleife noch mit der Anweisungen break beendet werden. Mit der continue Anweisung kann direkt zum nächsten Schleifendurchlauf gesprungen werden.
Im folgenden Beispiel werden die Preise bei jedem Durchlauf um 10% erhöht. Die Schleife läuft, solange der Durchschnittspreis unter 25 $ liegt. Wenn ein Artikel einen Preis von mehr als 70 $ erreicht wird die Schleife mit BREAK abgebrochen. Das Beispiel nutzt die pubs-Datenbank.
1 2 3 4 5 6 7 8 9 10 11 12 13 | WHILE (SELECT AVG(price) FROM titles) < $25 BEGIN UPDATE titles SET price = price * 1.10 SELECT MAX(price) FROM titles IF (SELECT MAX(price) FROM titles) > $70 BREAK ELSE CONTINUE END |