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.

ms190385.note(de-de,SQL.90).gifHinweis:
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)

Hilfe und Informationen

Informationsquellen für SQL Server 2005