Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment insérer plusieurs lignes dans un tableau en fonction d'une plage de nombres

Vous pouvez utiliser une table de nombres si vous en avez une, utilisez master.dbo.spt_values si vous en voulez un qui a des valeurs jusqu'en 2048, ou créez-en un vous-même. Dans ce cas, vous pouvez utiliser 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;

Bien que cela commence à zéro, vous obtiendrez 21 lignes en conséquence