Buscar..


Observaciones

El uso de un bucle WHILE u otro proceso iterativo no suele ser la forma más eficiente de procesar datos en SQL Server.

Debe preferir utilizar una consulta basada en conjuntos en los datos para lograr los mismos resultados, cuando sea posible

Usando While loop

El bucle WHILE se puede utilizar como una alternativa a los CURSORS . El siguiente ejemplo imprimirá números del 0 al 99.

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

Mientras que el bucle con el uso mínimo de la función agregada

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow