MS SQL While loops

SQL

Simple loop

Code

Let's say we want to loop from 0 to 9: DECLARE @i AS INT = 0 WHILE @i < 10 BEGIN SET @i = @i + 1 PRINT @i END

Result

This will print out every number from 1 to 10

Loop over table

Code

Let's say we have a table called #temp and we want to loop over every value:
rnumvalue
11Apple
22Banana
33Cherry
44Date
55Elderberry
DECLARE @i AS INT = 0 DECLARE @fruit AS varchar(10) WHILE @i < (SELECT COUNT(*) FROM #temp) BEGIN SET @i = @i + 1 SET @fruit = (SELECT [value] FROM #temp WHERE rnum=@i) PRINT @fruit END

Result

This will print out every value from Apple to Elderberry