첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

■ CTE 재귀 호출을 사용하는 방법을 보여준다.

 

▶ 예제 코드 (SQL)

WITH CTE (ParentID, ID, [Level], [Path])
AS
(
    SELECT
        A.ParentID                           AS ParentID,
        A.ID                                 AS ID      ,
        1                                    AS [Level] ,
        CONVERT(NVARCHAR(MAX), '/' + A.Name) AS [Path]
    FROM Menu AS A WITH(NOLOCK)
    WHERE A.ParentID = -1

    UNION ALL

    SELECT
        A.ParentID                                      AS ParentID,
        A.ID                                            AS ID      ,
        B.[Level] + 1                                   AS [Level] ,
        CONVERT(NVARCHAR(MAX), B.[Path] + '/' + A.Name) AS [Path]
    FROM Menu AS A WITH(NOLOCK)
    JOIN CTE  AS B ON B.ID = A.ParentID
)
SELECT * FROM CTE AS A ORDER BY A.[Path];
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요