Самый понятный мне способ перебора значений из таблицы MS SQL в цикле с помощью Transact SQL.

--Select initial (minimum) value from table
SELECT @value = MIN(Value_column) FROM Value_Table 
--Start loop
WHILE @value IS NOT NULL 
BEGIN
        -- DO SOMETHING
        ---Select next value from table. Do Next Loop Step
	SELECT @value = MIN(Value_column) FROM Value_Table WHERE Value_column > @value --Select next value from table. Do Next Loop Step
END