попробуйте {†¦}, выгода {} не всегда плохо. Это не общий шаблон, но я действительно склонен использовать его, когда я должен завершить работу ресурсов, неважно, что, как закрытие (возможно) открытые сокеты в конце потока.
В цикле while нет необходимости. Во-первых, вам нужна таблица Tally или Numbers:
Create Table dbo.Numbers ( Value int not null Primary Key Clustered )
GO
With Nums As
(
Select Row_Number() Over( Order By S1.object_id ) As Num
From sys.columns as s1
cross join sys.columns as s2
)
Insert dbo.Numbers( Value )
Select Num
From Nums
Where Num <= 100000
Я поместил в свою таблицу только 100K чисел, но вам может понадобиться больше. Вам нужно заполнить эту таблицу только один раз, и теперь вы можете создать любую последовательность, какую захотите. Примерно так:
Select Value
From dbo.Numbers
Where Value Between @Start And @End
Хотите получить значение приращения?:
Select Value
From dbo.Numbers
Where Value % @Increment = 0