일상 기록 창고

CTE 재귀 쿼리 사용하기 본문

프로그래밍/ms-sql

CTE 재귀 쿼리 사용하기

Crazy_Kong 2009. 9. 18. 10:11

2000 버전에선 안돼고 2005 버전에서 사용 가능.

 

 

 WITH DATE_LIST
AS

(
        SELECT CAST('2009-08-01' AS DATETIME) AS DT
        UNION ALL
        SELECT
                    DT + 1
        FROM
                    DATE_LIST
        WHERE
                    DT + 1 <= '2009-08-31'
)

SELECT
 *
FROM
 DATE_LIST
OPTION (MAXRECURSION 0)    <--- default 100, 0 일 경우 제한없음

 

루프 제한 잘못 사용하면 무한 루프 ㅎㅎㅎ

'프로그래밍 > ms-sql' 카테고리의 다른 글

SET DATEFIRST   (0) 2009.09.18
SET LANGUAGE  (0) 2009.09.18