Wie man mehrere Zeilen basierend auf einem Zahlenbereich in eine Tabelle einfügt

Ich muss eine bestimmte Anzahl von Zeilen in eine SQL Server-Tabelle einfügen.

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)

In diese Abfrage muss ich Daten einfügen, die von einem bestimmten Datum bis zu der der Variablen '@val' zugewiesenen Wertanzahl beginnen. In diesem Fall müssen also ab '02 -05-2016 '20 Zeilen in die Tabelle eingefügt werden und das Datum für jede Zeile um 1 Tag erhöht werden.

Wie kann ich das in einer einzelnen Anweisung tun, ohne dass eine Schleife oder mehrere Einfügeanweisungen erforderlich sind?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage