Sök…


Anmärkningar

Att använda en WHILE loop eller annan iterativ process är normalt inte det mest effektiva sättet att bearbeta data i SQL Server.

Du bör föredra att använda en setbaserad fråga på data för att uppnå samma resultat, där det är möjligt

Använd medan loop

WHILE slingan kan användas som ett alternativ till CURSORS . Följande exempel kommer att skriva ut nummer från 0 till 99.

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

Medan slinga med min aggregerad funktionsanvändning

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow