Microsoft SQL Server
Цикл WHILE
Поиск…
замечания
Использование цикла WHILE
или другого итеративного процесса обычно не является наиболее эффективным способом обработки данных в SQL Server.
Вы должны предпочесть использовать набор данных на основе данных для достижения тех же результатов, где это возможно
Использование цикла While
Цикл WHILE
может использоваться как альтернатива CURSORS
. В следующем примере будут напечатаны цифры от 0 до 99.
DECLARE @i int = 0;
WHILE(@i < 100)
BEGIN
PRINT @i;
SET @i = @i+1
END
В то время как цикл с использованием агрегата min min
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow