O loop For ainda não é oficialmente suportado pelo SQL server. Já existe resposta para alcançar as diferentes formas do FOR Loop. Estou detalhando a resposta sobre maneiras de obter diferentes tipos de loops no SQL Server.
Loop FOR
DECLARE @cnt INT = 0;
WHILE @cnt < 10
BEGIN
PRINT 'Inside FOR LOOP';
SET @cnt = @cnt + 1;
END;
PRINT 'Done FOR LOOP';
Se você sabe, você precisa completar primeira iteração do loop de qualquer maneira, então você pode tentar do..while ou repeat..until versão do servidor SQL.
DO..WHILE Loop
DECLARE @X INT=1;
WAY: --> Here the DO statement
PRINT @X;
SET @X += 1;
IF @X<=10 GOTO WAY;
Repetir..UNTIL Loop
DECLARE @X INT = 1;
WAY: -- Here the REPEAT statement
PRINT @X;
SET @X += 1;
IFNOT(@X > 10) GOTO WAY;
Referência