특정 테이블에 히스토리를 관리할 일 등이 종종있다. 


IUD에 트리거를 걸고 다른 테이블(이력관리용)에 계속 INSERT를 하면 된다.


단지, 이력 테이블에는 시작일과 종료일을 두어 나중에 "특정시점" 데이터를 보기 쉽게할 수 있다. 


CREATE TABLE #TMP

(

        START_DT DATETIME

        , END_DT DATETIME

)

 

INSERT INTO #TMP

VALUES

        (GETDATE(), DATEADD(M, 1, GETDATE()))

        ,(DATEADD(M, -2, GETDATE()),DATEADD(M, -1, GETDATE()))

        ,(DATEADD(M, -5, GETDATE()),DATEADD(M, -4, GETDATE()))

 

 

SELECT * FROM #TMP

WHERE DATEADD(M, -5, GETDATE()) BETWEEN START_DT AND END_DT

 

DROP TABLE #TMP

 


예를 들면 위와 같은 형태로 만들어서 해당일을 사용한 특정시점의 쿼리가 가능하다.



Posted by motolies
,