Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como inserir várias linhas em uma tabela com base em um intervalo de números


Você pode usar uma tabela de números se tiver uma, use master.dbo.spt_values se você quiser um que tenha valores até 2048, ou crie um de sua preferência. Nesse caso, você pode 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;

No entanto, como isso começa em zero, você obterá 21 linhas como resultado