Szukaj…


Uwagi

Korzystanie z pętli WHILE lub innego iteracyjnego procesu zwykle nie jest najbardziej wydajnym sposobem przetwarzania danych w programie SQL Server.

Powinieneś raczej skorzystać z zapytania opartego na zestawie danych, aby osiągnąć te same wyniki, tam gdzie to możliwe

Korzystanie z pętli While

Pętla WHILE może być używana jako alternatywa dla CURSORS . Poniższy przykład wydrukuje liczby od 0 do 99.

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

Podczas pętli z minimalnym użyciem funkcji agregującej

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow