DBMS/MS-SQL

[MS-SQL] 루프문(WHILE)으로 일일 집계 쿼리 일년치 한번에 돌리기

Fly_Mir 2019. 5. 2. 14:08

일별 집계 프로시져를 한번에 1년치를 돌려보자.

집계 쿼리를 새로 만들거나 혹은 집계 방식이 변경되었을경우 해당 집계를 다시 해줄경우가 있다.

몇일 안되면 그냥 복붙으로 돌릴수도 있지만 몇개월 이상 재집계 하는경우 아래처럼 루프문(WHILE)을 이용하면 간편하다.

    DECLARE @START_DATE DATETIME = '2018-01-01'     -- 시작날짜
    DECLARE @END_DATE DATETIME = '2018-12-31'       -- 종료날짜
    DECLARE @DATE_STRING VARCHAR(10) = NULL         -- 프로시저에서 VARCHAR형태로 받기 때문에 한번 변형해주기 위한 변수

    WHILE @START_DATE <= @END_DATE
        BEGIN
            SET @DATE_STRING = (SELECT CONVERT(VARCHAR(10),@START_DATE,23))
            EXEC '일일집계프로시저' @ACC_DATE = @DATE_STRING
        END
    END    
관련글

날다의 운영환경
본체MacBook Pro
O SWindows7 Ultimate K
ApplicationMicrosoft SQL Server Management Studio 2017 V17.2
MS-SQLMicorsoft SQL Server 2016(SP1-CU5)