GSI


DROP TABLE #MyTempTable; --임시테이블을 만든다.
-- CTE 구조로 해서 원하는 내용을 뽑아 온다.
with empCTE(
 _idx,
 _uid,
 _puid)
as
(
 -- boss only
 select idx, uid, puid
 from userList_tmp
 where uid = 'test1' and grade = '2' --최초 탐색 시점

 union all

 select aa.idx, aa.uid, aa.puid
 from userList_tmp as aa inner join empCTE as bb
 on aa.puid = bb._uid
 --where bb.level < 3
)
select _idx into #MyTempTable from empCTE --임시테이블로 복사
GO
-- 임시 테이블의 내용을 원본 테이블에서 삭제
delete from userList_tmp where idx in (select * from #MyTempTable)  제

Posted by gsi
: