Database/Oracle 2010/11/15 15:46

계층형 게시판 같이 트리구조로 되어있는
디비를 삭제, 정렬, 기타 등등 트리구조에서 아주아주아주~~~~ 편하게 사용할 수 있다.
 글번호  그룹  단계  순서  부모글  
 1  0
 3  1  1  2  1   3
 5  1  2  3  3    5
 6  1  3  4  5     6
 2  1  1  5  1   2
 4  1  6  2    4

사용법) 3번글을 지우려한다면 그 하위 답변인 5,6번 게시물도 지워져야한다.
이때 쿼리 짜낼려고 별짓을 다 했는데... 간단한 방법이 있었으니...

delete from s_board
 where 글번호 in (
           select *
              from s_board
             start with 글번호=3         // 시작하는 부분
             connect by prior 글번호=부모글     // 검색대상을 트리형태로 검색
             order by 그룹 desc, 순서
  )

요렇게 start with ~ connect by prior 을 써주면 된다.

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


참고 ) http://blog.naver.com/humanlinux?Redirect=Log&logNo=110005644075



저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 재키*_^
<PREV NEXT> 1 ... 9 10 11 12 13 14 15 16 17 ... 41