Создание последовательности в SQL-сервере

попробуйте {†¦}, выгода {} не всегда плохо. Это не общий шаблон, но я действительно склонен использовать его, когда я должен завершить работу ресурсов, неважно, что, как закрытие (возможно) открытые сокеты в конце потока.

5
задан Tony L. 30 September 2016 в 15:05
поделиться

2 ответа

В цикле 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
2
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: