IT/Database
오라클 Connect by - 계층형 게시판에서 글 삭제
storya
2016. 3. 23. 12:30
oracle를 사용하는 계층형 게시판에서 부모글 삭제시 자식글까지 함께 삭제하기
우선 계층형 게시판을 사용하기 위해 글번호(num)와 부모글번호(parent_id) 커럼을 부여했다면
아래와 같이 삭제시 SQL문을 사용할 수 있다.
DELETE FROM board
WHERE num in (
SELECT num FROM board
START WITH num = 글번호
CONNECT BY PRIOR num = parent_id
)
START WITH num = 글번호 : 검색을 시작할 번호
CONNECT BY PRIOR num = parent_id : 검색 대상을 트리 형태로 검색
PRIOR 의 위치
- CONNECT BY PRIOR 자식컬럼 = 부모컬럼 : 부모에서 자식으로 트리 구성
- CONNECT BY 자식컬럼 = PRIOR 부모컬럼 : 자식에서 부모으로 트리 구성
반응형