이야기앱 세상

오라클 Connect by - 계층형 게시판에서 글 삭제 본문

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 부모컬럼  : 자식에서 부모으로 트리 구성

반응형
Comments