MS-SQL SQL Server
MSSQL 재귀호출 사용법
깨노비
2020. 3. 9. 17:43
728x90
반응형
WITH 임시테이블 AS (
실제 사용쿼리
UNION ALL
재귀돌릴 쿼리
INNER JOIN 임시테이블
)
SELECT * FROM 임시테이블
=> 임시테이블을 다시 재귀를 돌리면서 그 임시테이블에 데이터를 계속 넣는 작업을 함
예시)
WITH TBL_TEMP (parent, code, name, level,is_view ,seq_path)
AS
(
SELECT parent ,code, name, 1 as level,is_view ,
CONVERT(NVARCHAR (MAX), parent) + '/' + CONVERT(NVARCHAR (MAX), sort) + '/' + CONVERT( NVARCHAR(MAX), code) seq_path
FROM TBL_AA
WHERE code like '%'
UNION ALL
SELECT E.parent, E.code , E.name,( level + 1),E.is_view,
M.seq_path + '/' + CONVERT( NVARCHAR(MAX), E.sort) + '/' + CONVERT(NVARCHAR (MAX), E.code) seq_path
FROM TBL_AA AS E
INNER JOIN TBL_TEMP AS M ON E.parent = M.code
)
select * from TBL_TEMP
728x90
반응형