Verwenden von WHILE...BREAK oder CONTINUE
Die WHILE-Anweisung wiederholt eine Anweisung oder einen Block von Anweisungen, so lange eine bestimmte Bedingung erfüllt ist.
In Verbindung mit WHILE werden in der Regel zwei Transact-SQL-Anweisungen verwendet:BREAK oder CONTINUE. Die BREAK-Anweisung beendet die innerste WHILE-Schleife, während die CONTINUE-Anweisung eine WHILE-Schleife neu startet. Ein Programm kann eine BREAK-Anweisung ausführen, wenn z. B. keine weiteren Zeilen zu verarbeiten sind. Eine CONTINUE-Anweisung kann ausgeführt werden, wenn z. B. die Ausführung des Codes fortgesetzt werden soll.
Hinweis: |
---|
Falls eine SELECT-Anweisung als Bedingung für die WHILE-Anweisung verwendet wird, muss die SELECT-Anweisung in Klammern eingeschlossen werden. |
Das folgende Beispiel steuert mithilfe einer WHILE-Anweisung, wie viele Abrufvorgänge durchgeführt werden.
USE AdventureWorks;
GO
DECLARE abc CURSOR FOR
SELECT * FROM Purchasing.ShipMethod;
OPEN abc;
FETCH NEXT FROM abc
WHILE (@@FETCH_STATUS = 0)
FETCH NEXT FROM abc;
CLOSE abc;
DEALLOCATE abc;
GO
Weitere gültige Tests für die WHILE-Bedingung sind z. B. die folgenden:
WHILE (@ACounterVariable < 100)
Oder
WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')
Siehe auch
Andere Ressourcen
BEGIN...END (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)
CONTINUE (Transact-SQL)