SQL - это система на основе SET, а не процедурная (циклическая). Обычно считается плохой практикой использовать циклы в SQL, поскольку они работают хуже по сравнению с их эквивалентами на основе наборов.
WHILE - самая распространенная циклическая структура, CURSORS также можно использовать, но у них есть свои проблемы (забыв освободить / закрыть)
... пример WHILE (вам может и не понадобиться, но другим это может понадобиться)
DECLARE @iterator INT
SET @iterator = 0
WHILE @iterator < 20
BEGIN
SELECT * FROM table WHERE rowKey = @iterator
/*do stuff*/
@iterator = @iterator + 1
END
Реальный вопрос в том, «Что вы пытаетесь сделать, что просто невозможно сделать способом, основанным на множестве?»