Impressum  |   RSS  |  Registrieren

tsql

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