본문 바로가기

oracle

connect by를 이용한 계층형 게시판 SQL

반응형

connect by를 이용한 계층형 게시판 SQL


create table board(
  num number primary key,
  parent_num number not null,  <-- 부모글의 번호가 들어감, 자식글이 아니라 부모글일 경우 0 
  depth number not null, <-- 자식글의 깊이. 부모글의 자식글A 1, 자식글A의 자식글B 2, 부모글일 경우 0
  title varchar2(100) not null,
  name varchar2(60) not null,
  register date not null
);

SELECT num,          
          parent_num,
          depth,
          title,
          name,
          register,
          rownum rnum
FROM board
START WITH depth=0
CONNECT BY PRIOR num = parent_num
ORDER SIBLINGS BY num DESC;


반응형