Connect BY

2013. 5. 30. 13:2799. 정리전 - IT/15. SQL 따라잡기

계층형 게시판 같이

트리구조로 되어 있는 DB삭제, 정렬, 기타 등등 트리구조에서 편하게 사용

 

 형태

 글번호

그룹 

뒙쓰 

시퀀스 

부모글 

     1

 1

      └  3

 3

      │     5

 5

3

      │           6

 6

4

      └  2

 2

5

            └  4

 4

1

2

6

 2

 

 

사용법 ) 3번글을 지우려한다면 그 하위 답변인 5,6번 게시물도 지워져야 한다.

 

 

         DELETE FROM S_BOARD

         WHERE 글번호 IN (

                           SELECT *
                           FROM S_BOARD
                           START WITH 글번호 = 3                        //시작하는 부분
                           CONNECT BY PRIOR 글번호 = 부모글   //검색 대상을 트리형태로 검색 
                                 ORDER BY 그룹 DESC, 순서

         )

 

 

* prior의 위치

   - connect by prior 자식컬럼 =             부모컬럼 => 부모에서 자식으로 트리 구성

   - connect by            자식컬럼 = prior      부모컬럼 => 자식에서 부모로 트리 구성

 

 

출처 ㅣ http://blog.naver.com/hbryoung/10026723709