Suche…


Bemerkungen

Die Verwendung einer WHILE Schleife oder eines anderen iterativen Prozesses ist normalerweise nicht die effizienteste Art, Daten in SQL Server zu verarbeiten.

Sie sollten es vorziehen, eine satzbasierte Abfrage für die Daten zu verwenden, um möglichst dieselben Ergebnisse zu erzielen

While-Schleife verwenden

Die WHILE Schleife kann als Alternative zu CURSORS . Im folgenden Beispiel werden Zahlen von 0 bis 99 gedruckt.

 DECLARE @i int = 0;
 WHILE(@i < 100)
 BEGIN
    PRINT @i;
    SET @i = @i+1
 END

While-Schleife mit Min-Aggregatfunktion

DECLARE @ID AS INT;

SET @ID = (SELECT MIN(ID) from TABLE);

WHILE @ID IS NOT NULL
BEGIN
    PRINT @ID;
    SET @ID = (SELECT MIN(ID) FROM TABLE WHERE ID > @ID);
END


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow