sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo insertar varias filas en una tabla en función de un rango de números

Puede usar una tabla de números si tiene una, use master.dbo.spt_values si quieres uno que tenga valores hasta 2048, o crea uno propio. En este caso, podría usar 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;

Aunque como esto comienza en cero, obtendrás 21 filas como resultado