Zoeken…


Opmerkingen

Het gebruik van een WHILE lus of een ander iteratief proces is normaal gesproken niet de meest efficiënte manier om gegevens in SQL Server te verwerken.

Gebruik bij voorkeur een set-gebaseerde query op de gegevens om waar mogelijk dezelfde resultaten te bereiken

While-lus gebruiken

De WHILE lus kan worden gebruikt als alternatief voor CURSORS . In het volgende voorbeeld worden nummers van 0 tot 99 afgedrukt.

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

Terwijl lus met minimaal gebruik van geaggregeerde functies

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow