Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come inserire più righe in una tabella in base a un intervallo di numeri

Puoi usare una tabella di numeri se ne hai una, usa master.dbo.spt_values se ne vuoi uno che abbia valori fino al 2048, oppure creane uno tuo. In questo caso, puoi utilizzare master.dbo.spt_values :

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

SET @val2 = 'abc'

INSERT INTO dbo.YourTable
SELECT @val2, DATEADD(DAY,number,@Date)
FROM master.dbo.spt_values
WHERE type = 'P'
AND number <= @val;

Anche se poiché questo inizia da zero, otterrai 21 righe come risultato