Самый понятный мне способ перебора значений из таблицы 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
Discussion