SQL Server 테이블에 특정 수의 행을 삽입해야합니다.숫자 범위를 기반으로 테이블에 여러 행을 삽입하는 방법
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)
이 쿼리에서 주어진 날짜부터 시작하여 변수 '@val'에 지정된 값의 수까지 날짜를 삽입해야합니다. 따라서이 경우 '02 -05-2016 '부터 20 개의 행을 표에 삽입 한 다음 각 행에 대해 1 일 증가하는 날짜가 필요합니다.
루프 나 여러 삽입 문없이 단일 명령문에서 어떻게 수행 할 수 있습니까?
분명히 당신이 실행중인 숫자/날짜의 목록을 만들려고합니다 : [내 답변 중 하나 (http://stackoverflow.com/a/32474751/5089204))를 사용하여 'Tally-CTE' 숫자, 날짜 및 매일 많은 부수 정보 목록을 만들 수 있습니다. 이것이 당신이 필요로하는 것이라고 생각하십시오 ... – Shnugo