code name depth parentCode A1 대분류1 0 A1 A2 대분류2 0 A2 B1 중분류1 1 A1 B2 중분류2 1 A2 C1 소분류1 2 B1 C2 소분류2 2 B1 C3 소분류3 2 B2
위와 같은 카테고리 테이블 구조가 있습니다.(무한카테고리)
제가 궁금한것은 A1코드(대분류1)를 삭제할시에 그에 해당하는 하위 코드(ex:B1,C1,C2)를 삭제할시 재귀쿼리를 어떻게 작성해야 하는지 궁금합니다.
답변주시면 감사합니다.
create table ##kk( code varchar(10)) IF exists (SELECT 1 FROM ?????? WHERE ParentCode = A1) begin INSERT ##kk SELECT distinct CODE FROM ????? WHERE ParentCode = A1 IF exists (SELECT 1 FROM ????? WHERE ParentCode in (SELECT * FROM ##kk)) begin end end 좀 무식하긴하지만 하위코드가 몇단계 까지 있는가 해서 그단계만큼 IF로 채크하면서 해당하는 코드를 임시테이블에 넣어두고 마지막에 그 임시테이블에 들어있는 코드를 삭제하면 되겠네요 프로시져하나 만들어서 사용하면 될듯합니다.