Как вставить несколько строк в таблицу на основе диапазона чисел

Я должен вставить определенное количество строк в таблицу SQL Server.

DECLARE @val AS INT = 20, 
        @val2 AS VARCHAR(50), 
        @Date AS DATETIME = CONVERT(DATETIME,'02-05-2016'),
        @i AS INT = 0

SET @val2 = 'abc'

DECLARE @tbl TABLE
(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [val2] VARCHAR(50) NULL,
    [datum] [datetime] NULL
)

--INSERT INTO @tbl
SELECT @val2, DATEADD(DAY, @i, @Date)
UNION ALL
SELECT @val2, DATEADD(DAY, @i, @Date)

В этом запросе я должен вставить даты, начиная с заданной даты, до номера значения, присвоенного переменной '@val'. Таким образом, в этом случае в таблицу необходимо вставить 20 строк, начиная с '02 -05-2016 ', а затем увеличивая дату на 1 день для каждой строки.

Как я могу сделать это в одном операторе без каких-либо циклов или нескольких операторов вставки?

Ответы на вопрос(3)

Ваш ответ на вопрос