728x90
반응형
728x170
■ CTE 재귀 호출을 사용하는 방법을 보여준다.
▶ 예제 코드 (SQL)
WITH CTE(ParentID, ID, Name, DisplayOrder, MenuLevel)
AS
(
SELECT
----------------------------------------
A.ParentID
,A.ID
,A.Name
,A.DisplayOrder
----------------------------------------
,1 AS MenuLevel
FROM Menu AS A
WHERE A.ParentID = -1
UNION ALL
SELECT
----------------------------------------
A.ParentID
,A.ID
,A.Name
,A.DisplayOrder
----------------------------------------
,B.MenuLevel + 1
FROM Menu AS A, CTE AS B
WHERE A.ParentID = B.ID
)
SELECT ParentID, ID, Name, DisplayOrder FROM CTE
ORDER BY MenuLevel;
728x90
반응형
그리드형(광고전용)
'Database > SQLServer' 카테고리의 다른 글
[DATABASE/SQLSERVER] SP_HELPTEXT 저장 프로시저 : 프로시저 코드 조회하기 (0) | 2017.05.24 |
---|---|
[DATABASE/SQLSERVER] SELECT TOP문을 동적으로 사용하기 (0) | 2017.05.24 |
[DATABASE/SQLSERVER] 전체 인덱스 스크립트 조회하기 (0) | 2015.06.13 |
[DATABASE/SQLSERVER] 구분자를 사용해 문자열 분리하기 (0) | 2015.05.11 |
[DATABASE/SQLSERVER] CTE 재귀 호출 사용하기 (0) | 2015.05.10 |
[DATABASE/SQLSERVER] 저장 프로시저 소스 코드 조회하기 (0) | 2015.05.09 |
[DATABASE/SQLSERVER] SQL Server 설치시 1433 포트가 열리지 않은 경우 처리하기 (0) | 2015.05.08 |
[DATABASE/SQLSERVER] 영어 버전 윈도우즈 및 SQL Server 설치시 한글 사용하기 (0) | 2015.05.08 |
[DATABASE/SQLSERVER] 데이터베이스 내 모든 테이블 모든 행 삭제하기 (0) | 2015.05.08 |
[DATABASE/SQLSERVER] 데이터베이스 내 모든 테이블 제거하기 (0) | 2015.05.08 |
댓글을 달아 주세요