[DB&Query] 트리구조 하위노드 삭제쿼리
DB&XML 2009. 6. 3. 18:20 |
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) 제