3번글입니다. ->re 3번글의 답변입니다. ->re 3번글의 답변의 답변입니다. ->re 3번글의 답변의 답변의 답변입니다. ->re 3번글의 답변입니다2. 1번글입니다. ->re 1번글의 답변입니다. ->re 1번글의 답변의 답변입니다. ->re 1번글의 답변의 답변입니다2. ->re 1번글의 답변입니다2.
table BOARD
column BOARD_SEQ, REF_SEQ, REPLY_SEQ, ...
board_seq | ref_seq | reply_seq | level | title ----------------------------------------------------- 1 1 0 0 1번글입니다. 2 1 1 1 1번글의 답변입니다. 3 1 2 2 1번글의 답변의 답변입니다. 4 1 1 1 1번글의 답변입니다2. 6 1 2 2 1번글의 답변의 답변입니다2. 7 7 0 0 3번글입니다. 8 7 7 1 3번글의 답변입니다. 9 7 7 1 3번글의 답변입니다2. 10 7 8 2 3번글의 답변의 답변입니다. 12 7 10 3 3번글의 답변의 답변의 답변입니다.SQL>
SELECT BOARD_SEQ, REF_SEQ, REPLY_SEQ, LEVEL, ... FROM BOARD START WHITH REPLY_SEQ=0 CONNECT BY PRIOR BOARD_SEQ=REPLY_SEQ ODER SIBLING BY REF_SEQ DESC, BOARD_SEQ ASC /
board_seq : 게시판 식별자, pk
ref_seq : 게시판의 그룹표시하는 컬럼
reply_seq : 답변글의 어미값 만약 어미식별자가 1이면 그밑에 달리는 답글의 reply_seq는 1
level : 깊이(depth)를 가지는 컬럼, 목록에서 들여쓰기를 하기위해 필요한 컬럼
'DataBase > Oracle' 카테고리의 다른 글
Oracle & sqlplus 설정 (0) | 2011.09.07 |
---|---|
Oracle - Sequence Syntax (0) | 2011.03.04 |
Recent Comments