답변형 게시판 만들기

1. 게시판 테이블 생성

  • group_id : 각 [게시글 + 답변] 그룹을 묶어주는 id
  • group_step : 각 [게시글 + 답변] 그룹 내 순서
  • group_tab : 각 [게시글 + 답변] 그룹 내 [게시글 / 답변 / 답변의 답변…]을 구분
  • root : 상위 게시물 no
  • depth : 바로 밑에 달린 답변의 갯수
CREATE TABLE replyBoard(
no NUMBER,
name VARCHAR2(34) CONSTRAINT rb_name_nn NOT NULL,
subject VARCHAR2(1000) CONSTRAINT rb_subject_nn NOT NULL,
content CLOB CONSTRAINT rb_content_nn NOT NULL,
pwd VARCHAR2(10) CONSTRAINT rb_pwd_nn NOT NULL,
regdate DATE DEFAULT SYSDATE,
hit NUMBER DEFAULT 0,
group_id NUMBER,
group_step NUMBER DEFAULT 0,
group_tab NUMBER DEFAULT 0,
root NUMBER DEFAULT 0,
depth NUMBER DEFAULT 0,
CONSTRAINT rb_no_pk PRIMARY KEY(no)
);

2. PRIMARY KEY의 시퀀스 생성

CREATE SEQUENCE rb_no_seq
START WITH 1
INCREMENT BY 1
NOCACHE
NOCYCLE;

3. 데이터 삽입

INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',1);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',2);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',3);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',4);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',5);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',6);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',7);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id) 
VALUES(rb_no_seq.nextval,'홍길동','답변형 게시판 만들기','내용무','1234',8);
COMMIT;
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',5,1,1);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',5,2,2);
COMMIT;
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',4,1,1);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',4,2,2);
COMMIT;
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',3,1,1);
INSERT INTO replyBoard(no,name,subject,content,pwd,group_id,group_step,group_tab) 
VALUES(rb_no_seq.nextval,'심청이','답변입니다','답변입니다.','1234',3,2,2);
COMMIT;