본문 바로가기
DB활용

[오라클 계층구조] 게시판 댓글&대댓글 구현

by 황금웃음만두 2020. 1. 15.

게시글에 달리는 댓글을 구현하는 방법을 포스팅하겠습니다

 

우선은 데이터로 직접 해볼것이므로 저장구조를 생성해줍니다

 

/* 게시판 생성 */
CREATE TABLE EXER_BBS
(
 BBS_ID NUMBER    PRIMARY KEY              -- 게시판ID
,SUBJECT VARCHAR2(500)   NOT NULL          -- 제목     
,CONTENTS VARCHAR2(4000) NOT NULL          -- 컨텐츠
,WRITER VARCHAR2(50)  NOT NULL             -- 생성자
,DELETE_AT CHAR(1) DEFAULT 'N' NOT NULL    -- 삭제여부 'Y'삭제 'N' 미용
,CREATE_DATE DATE DEFAULT SYSDATE NOT NULL --생성일시
,UPDATE_DATE DATE                          --수정일시
,DELETE_DATE DATE                          --삭제일시
);


/* 게시판 댓글 정보 생성 */
CREATE TABLE EXER_BBS_COMMENT
(
 BBS_ID NUMBER                                  -- FK 게시판ID
 ,COMMENT_ID NUMBER PRIMARY KEY                 -- 댓글 ID
 ,PARENT_COMMENT_ID NUMBER DEFAULT 0 NOT NULL   -- 상위 댓글 ID
 ,CONTENT VARCHAR2(4000)  NOT NULL              -- 댓글
 ,WRITER VARCHAR2(50) NOT NULL                  -- 작성자
 ,DELETE_AT CHAR(1) DEFAULT 'N' NOT NULL        -- 삭제여부 'Y'삭제 'N' 미용
 ,CREATE_DATE DATE DEFAULT SYSDATE NOT NULL     -- 생성일시 
 ,UPDATE_DATE DATE                              -- 수정일시
 ,DELETE_DATE DATE                              -- 삭제일시
);

저장구조에 넣을 데이터는 아래와 같은데요

아래 링크의 댓글을 크롤링하여 아래 샘플데이터를 생성하였는데요

 

다소 보기 불편한 댓글도 많이 보이는데요 네이버 댓글 수준이라고 생각해야 될것같습니다

 

....그냥 사용하도록 하겠습니다

 

https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=015&aid=0004274346

 

https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=103&oid=032&aid=0002986361

 

/* 개시글 생성 */

INSERT INTO EXER_BBS
  (BBS_ID, SUBJECT, CONTENTS, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, '"제네시스 GV80만 기다렸다"…출격 첫날 1.5만대 폭풍 계약', '현대차, 공식 판매 시작, 럭셔리 SUV 끝판왕 , 깜빡이 켜면 스스로 차선 변경, 증강현실 내비 등 新기술 탑재, AI 스마트 크루즈도 첫 적용 ....', '동아일보', 'N', to_date('2020-01-15 22:56:15','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS
  (BBS_ID, SUBJECT, CONTENTS, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, '작년에 산 롱패딩이 무색하게···올 겨울, 왜 이상고온일까', '서울 남산에선 겨울잠에서 깬 개구리가 발견됐고 제주에선 유채꽃과 철쭉이 활짝 피었다. 겨울이라고 보기 힘든 ‘이상고온 현상’이 계속됐기 때문이다. 15일 경기 북부와 강원 내륙에는 평년과 ....', '경향신*', 'N', to_date('2020-01-15 22:56:56','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);


/* 댓글 데이터 생성 */

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991417985, 0, '요 몇일 롱패딩 없었으면  얼어죽었다 무슨 그런  사랑스런 롱패딩에게 섭섭한말을... 아프리카에서 기사쓰나?', 'vigs****', 'Y', to_date('2020-01-15 20:52:51','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991382505, 1991314325, '개구리 **하는건 왜올려 기자야', 'fami****', 'N', to_date('2020-01-15 20:04:40','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991391985, 1991314325, 'ㅋㅋㅋㅋㅋㅋ', 'meg_****', 'N', to_date('2020-01-15 20:16:44','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991392145, 1991314325, '며칠전부터 따뜻한 겨울 롱패딩이 필요없는 온화한 겨울 이러니까... 바로 언제그랬냐는듯 다시 추워짐. 밤에 입김 나오더라.', 'aune****', 'N', to_date('2020-01-15 20:16:54','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991400075, 1991314325, '냄새난다 좀 빨아라 맨날 드러운 패딩에 페브리즈 뿌린다고 안빨아서 나는 니 인내가 사라지진 않는다', 'toon****', 'N', to_date('2020-01-15 20:28:38','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991425415, 1991314325, '개구리교접하는사진까지 올리면서 성관련기사에 혈안하는 언레기들.', 'grea****', 'N', to_date('2020-01-15 21:03:25','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991458355, 1991314325, '왜긴 니들이 뽑은 재앙이때문에 글잖아 ㅋㅋㅋㅋㅋㅋㅋ\n담엔 꼭 황교안대표를 뽑아라 알겠냐??머저리들아 \n그래야 재앙없이  전 세계에 평화가 온다', 'xxx_****', 'N', to_date('2020-01-15 21:49:03','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991474435, 1991314325, '**********************.', 'oilb****', 'N', to_date('2020-01-15 22:10:46','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991396165, 1991319165, '끄지라x아', 'sdpa****', 'N', to_date('2020-01-15 20:22:50','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991402225, 1991319165, '정말 큰일입니다..', '0919****', 'N', to_date('2020-01-15 20:31:55','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991433815, 1991391985, '진짜', 'sang****', 'N', to_date('2020-01-15 21:14:56','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991452845, 1991392145, '문재이니가 산깍아서 태양광 설치하니 이딴식이죠. 원전가동 멈추니 전기딸려서 화력발전 때고잇고 한심한놈', 'jpt1****', 'N', to_date('2020-01-15 21:41:13','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991462525, 1991400075, '일루미나티 환경론자들의 궤변인 지구온난화를 2020년에도 시부리는 무뇌가 있다는 사실이 놀랍습니다', 'rosa****', 'N', to_date('2020-01-15 21:55:22','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991476685, 1991319165, '지구 온난화가 일어나면 겨울은 더 춥습니다 온난화로 인해 제트기류가 약해져서 북극 공기가 한반도에 직빵으로 내려오니까요', 'wnsq****', 'N', to_date('2020-01-15 22:13:49','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991451405, 1991344395, 'ㅋㅋ', 'pooh****', 'Y', to_date('2020-01-15 21:39:01','YYYY-MM-DD HH24:MI:SS'), NULL, to_date('2020-01-15 23:11:13','YYYY-MM-DD HH24:MI:SS'));

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991458095, 1991344395, 'ㅋㅋㅋㅋㅋ 도서관인데 미치겠네..', 'art1****', 'N', to_date('2020-01-15 21:48:40','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991467545, 1991344395, '뭔 말???', 'only****', 'N', to_date('2020-01-15 22:02:21','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991475715, 1991452845, 'ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ', 'hika****', 'N', to_date('2020-01-15 22:12:33','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991476445, 1991344395, '뭔 뜻인지 설명 좀.', 'only****', 'N', to_date('2020-01-15 22:13:27','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991477455, 1991344395, 'ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ', 'ptg1****', 'N', to_date('2020-01-15 22:14:50','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991477795, 1991344395, '구역질나는 어떤 ***)가 범죄자 졸개(1.13애비) 실드치겠답시고 지껄인 소립니다.', 'agai****', 'N', to_date('2020-01-15 22:15:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014846954, 2014794064, '응 한국에서만~', 'jong****', 'N', to_date('2020-01-15 18:58:18','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014865574, 2014794064, '걍 국내 국뽕  개돼지 ** 이 타는 차인데 ㅋㅋㅋㅋ', 'bbag****', 'N', to_date('2020-01-15 19:19:47','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014865954, 2014794064, '임팔라 나오면 현기 망한다던 뚜벅이 뭐하고있을까?', '7701****', 'N', to_date('2020-01-15 19:20:12','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014871484, 2014794064, '백수들됫자나요', 'alex****', 'N', to_date('2020-01-15 19:26:25','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014875144, 2014865574, '백수들 까기바쁘군ㅋ', 'ical****', 'N', to_date('2020-01-15 19:30:10','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014877994, 2014794064, '호구개돼지들 많다는 증거 뚜벅이타령 백수타령드립 니들 수준이 딱 그수준ㅋㅋㅋ', 'tyco****', 'N', to_date('2020-01-15 19:33:05','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014887974, 2014794064, '흉기차 유트브귀족노조와 알바들 진짜 많이 깔렸네 ㅋㅋ 흉기그룹과 흉기차그룹의 하청업체 밀어내기에 전부 피똥 싼다 ㅋㅋ', 'myri****', 'N', to_date('2020-01-15 19:44:09','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014914764, 2014846954, '현까들 현실은 능력 안되 못타니 트집잡는', 'q508****', 'N', to_date('2020-01-15 20:11:06','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014939604, 2014794064, '노조는 유튜브보고 만들고 유튜버는 이차를 다시 홍보하고....ㅋㅋㅋ', 'line****', 'N', to_date('2020-01-15 20:34:04','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014944284, 2014794064, '아무리 까더라도 잘팔리는건 어쩔수없는 현실ㅋㅋㅋㅋ', 'adwg****', 'N', to_date('2020-01-15 20:38:47','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014995924, 2014794064, '유튭보면서 만든 고급차 ????', 'brok****', 'N', to_date('2020-01-15 21:32:13','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014999274, 2014794064, '하도 까길래 또 대박나는건가 했드만.. 초대박이네ㅋ', 'ebis****', 'N', to_date('2020-01-15 21:35:43','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015015554, 2014794064, 'g70 때도 폭풍계약이니 뭐니 하다가 처음에 와르르 몰리고 그 다음은 계약 바닥으로 떨어지는 바로 그 패턴', 'bess****', 'N', to_date('2020-01-15 21:52:34','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014794064, 0, '흉기까들 또 까기 시작하는거보니..차는 겁나 팔리것다...ㅋㅋ', 'cosa****', 'N', to_date('2020-01-15 18:02:10','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014959704, 2014880574, '왜 하필 링컨....', 'mjoo****', 'N', to_date('2020-01-15 20:54:43','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014962264, 2014880574, '기승전 링컨 ㅋㅋㅋㅋㅋ', 'naru****', 'N', to_date('2020-01-15 20:57:16','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014963114, 2014880574, '링컨 유지안해봤죠? 허허허 수리비어이없어서 이베이에서 부품구입하게될거시요~~~', 'p637****', 'N', to_date('2020-01-15 20:58:12','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014964084, 2014880574, '그래도 링컨은 좀 아쉽네요 ㅎㅎㅎ 캐딜락을 가시지', 'noka****', 'N', to_date('2020-01-15 20:59:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014964404, 2014880574, '링컨같은 소리를 달동네 방구석에서 나불거니는 일베...ㅋㅋㅋㅋ 아 냄새나', 'down****', 'N', to_date('2020-01-15 20:59:41','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014968694, 2014880574, '에이브럼 링컨???', 'qkfo****', 'N', to_date('2020-01-15 21:04:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014971764, 2014964084, '에비에이터는 급도 다른데 뭔소리에요ㅋㅋ 저도 미국차탑니다만... 캐딜락 가시죠', 'kesa****', 'N', to_date('2020-01-15 21:07:31','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014972074, 2014880574, '현기가 낸 세금으로 나라돌아간다', 'naju****', 'N', to_date('2020-01-15 21:07:55','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014972714, 2014880574, '그냥 링컨 사고 싶었다고 해 ㅋㅋㅋ 뭐케 혓바닥이 기노', 'firs****', 'N', to_date('2020-01-15 21:08:36','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014977414, 2014880574, '돈독한한미관계를위해ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ', 'ddon****', 'N', to_date('2020-01-15 21:13:40','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014985164, 2014880574, '볼보사세용', 'zero****', 'N', to_date('2020-01-15 21:20:56','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014986344, 2014880574, 'ㅋㅋㅋㅋㅋ 서론 겁나기네 그냥 일베충', 'jjh2****', 'Y', to_date('2020-01-15 21:22:11','YYYY-MM-DD HH24:MI:SS'), NULL, to_date('2020-01-15 23:11:15','YYYY-MM-DD HH24:MI:SS'));

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014989584, 2014880574, '현대차계열사 직원인데 이런 인식자체가 부끄럽습니다 ㅠㅠ 현대차가 힘들때 일본국민이 도와줄것도 아니고 도와줘도 우리국민들이 도와주실껀데 참으로 안타깝네요. 현대차 직원들은 경각심 가지고 현대차와 대한민국 다 같이 윈윈했으면 좋겟습니다', 'poke****', 'N', to_date('2020-01-15 21:25:42','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014990724, 2014880574, '현기노조가 노동자의 대우 극단적으로 행동해서 그나마 올려주는 건 왜 생각안하냐.. 도대체 같은 노동자끼리 잘되는걸 왜 배아파하냐 노조까즐은 다 자영업자인가.. 이해가 안된다', 'shoo****', 'N', to_date('2020-01-15 21:26:51','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014991244, 2014985164, 'ㅋㅋㅋㅋ링컨 축하합니다 \nㅋㅋㅋㅋㅋㅋㅋㅋㅋ여기서 링컨드립치고 있노 ㅋㅋㅋㅋㅋ', 'wowd****', 'N', to_date('2020-01-15 21:27:18','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014997514, 2014880574, '돈독한 한미 동맹만 없어도 완벽한데..', 'kils****', 'N', to_date('2020-01-15 21:33:51','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015014154, 2014880574, '링컨ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ', 'face****', 'N', to_date('2020-01-15 21:51:02','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015014314, 2014991244, '반일 ㅈ . ㄹ 민좃당 애들 죄다 일본차 탄다고 어떤기자가 싹다 조사해놨더만ㅋㅋ렉서스 RX가자ㅋㅋ서울시장님차', 'wurk****', 'N', to_date('2020-01-15 21:51:17','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015018894, 2014880574, '링컨 ㅋㅋㅋㅋㅋㅋ마지막에 무식자 인증 제대로 하네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ돈독한 한미관계부터 이미 멍멍', '010_****', 'N', to_date('2020-01-15 21:56:36','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015022154, 2014880574, '다마스나  타구  배달이나가   니 능력으론  못사', 'gwan****', 'N', to_date('2020-01-15 21:59:51','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014880574, 0, '지금차가 십년정도 된 수입suv인데 키로수도 이십만에 바꿀때도 됐고 수입차 센터 다니는것도 일이라서 gv80 맥시멈 팔천 중반대로 예상하고 사려고했다. 반일운동으로 뭔가 국산품 애용이라는 마음도 조금은 생겼고. 나이드니 남들 눈치도 살짝 보이고. 근데 와이파이 끊었다고 파업하는 놈들보고 그 마음 싹 없어지더라. 생명이랑 직결되는 차를 게임하고 동영상 보면서 퍽이나 잘 만들겠다. 돈독한 한미 관계를 위해 링컨 에비에이터로 맘 굳혔다. 이번에 현대차 폭싹 망해서 노조도 정신 차리면 좋겠는데 워낙에 무식. OOO이라...', 'adam****', 'Y', to_date('2020-01-15 19:36:05','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014801434, 2014780334, '어떤 부족한 기본기?', 'roji****', 'N', to_date('2020-01-15 18:10:31','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014804714, 2014780334, '조립할때 인터넷이 대야하는?', 'fina****', 'N', to_date('2020-01-15 18:14:25','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014808224, 2014780334, '살수도 없는주제에... 지랄은', '5144****', 'N', to_date('2020-01-15 18:18:13','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014814504, 2014780334, '기아에서 왔냐?', 'expr****', 'N', to_date('2020-01-15 18:24:56','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014818784, 2014780334, '진짜 현기 까는것들 지겹다 ㅋㅋㅋㅋ 쉐보레 르노 기본기 좋다고 사라하는 것들아 하나만 묻자 한국시장은 내부인테리어랑 디자인 중요시 여기는 시장인데 그런거 없이 미국파는거랑 똑같이 해놓고 팔라하면 그건 쉐보레 르노에서 한국시장을 같잖게 여기는거 아니냐?? 한국시장을 욕하거나 바꾸려하지말고 환경에 적응하는 노력이라도 최소한 보여봐라 환경에 적응못하면 도태되는게 당연한거다', 'pjhp****', 'N', to_date('2020-01-15 18:29:38','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014823104, 2014780334, 'ㅋㅋㅋㅋ 2222  몇마리는 민윽총에서 나왔나봐?ㅋㅋㅋ', 'jysi****', 'N', to_date('2020-01-15 18:33:39','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014826094, 2014780334, '조선의 벤틀리... 횬다이 욕하면 갱상도 애국보수가 아니다.. 삼송하고 횬다이는 까면 빨갱이 쉐슬람이 인기라...', 'dcem****', 'N', to_date('2020-01-15 18:36:36','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014840284, 2014780334, '못사는데 ㅈㄹ한다라 ㅋㅋㅋ 이런 개c쓰레기 67천 주고 사느니 익스플로러 사고 남긴다는거 아니?', 'chod****', 'N', to_date('2020-01-15 18:50:46','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014841944, 2014780334, '그리고 이런 쓰레기 안타고 1억700튜닝포함 1억1600짜리 타니까 좀 깝쳐도 되겠니? 뭐 인증까지 바란다면 카톡아디 이멜이나 쪽지보내렴. 영통까줄께 ㅋㅋㅋ', 'chod****', 'N', to_date('2020-01-15 18:52:32','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014867854, 2014780334, '현대 차만 출시했다하면 까고 보는 심리. 도대처 무슨 심보인지. 타보고 난리치던가.', 'voro****', 'N', to_date('2020-01-15 19:22:17','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014868334, 2014780334, '엔진  미션은 쓰레기 껍데기 인테리어는 보통이상', 'tlqk****', 'N', to_date('2020-01-15 19:22:43','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014873794, 2014780334, 'ㄴ인정', 'fkap****', 'Y', to_date('2020-01-15 19:28:43','YYYY-MM-DD HH24:MI:SS'), NULL, to_date('2020-01-15 23:11:18','YYYY-MM-DD HH24:MI:SS'));

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014873844, 2014780334, '까는애들 팩트(살돈없다 물론 나도....)', 'yh93****', 'N', to_date('2020-01-15 19:28:47','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014875304, 2014780334, '그놈의 기본기 타령 ㅋ 달릴 도로도 없는데 ㅋㅋ', 'jogy****', 'N', to_date('2020-01-15 19:30:22','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014877564, 2014840284, '좀 밖에 나와서 시승도 해보고 살아라 10년 전 차만 타봤나. ㅉㅉㅉ...', 'mavi****', 'N', to_date('2020-01-15 19:32:34','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014892164, 2014841944, '우와 풀옵션 9천만원이래 ㅋㅋ 유투브귀족노조와 흉기차는 국민들 개호구로 보는구나 ㅋㅋ', 'myri****', 'N', to_date('2020-01-15 19:48:33','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014894644, 2014867854, '까이는거 보니 겁나 잘팔리겠네 크~~~~~', 'bull****', 'N', to_date('2020-01-15 19:51:08','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014900174, 2014780334, '어지간하면 샀겠지만 민노총이 유튜브 보면서 만든 차를 사고싶지는 않더라', 'tomm****', 'N', to_date('2020-01-15 19:57:11','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014911034, 2014894644, '민주노총리 만든 차를 저돈 주고 사라고? 차라리 일본차를 산다', 'kirt****', 'N', to_date('2020-01-15 20:07:49','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014912984, 2014780334, 'kirt 헐... 네 다음 이시국에 정신나간 MI CHIN NOM 한마리 추가요', 'bull****', 'N', to_date('2020-01-15 20:09:38','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014780334, 0, '부족한 기본기 우수한 옵션질', 'jss1****', 'N', to_date('2020-01-15 17:48:25','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014781574, 0, '배부른 현기 노조들 사라져라!!!', 'psw0****', 'Y', to_date('2020-01-15 17:49:32','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014785344, 0, '이제 디젤은  그만하고  크린에너지로  지구를 살립시다.', 'chio****', 'N', to_date('2020-01-15 17:53:30','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014911294, 0, '흉기차가 하청업체 사장들 불러다가 강제로 구매계약 하게 만들고 지들도 놀랐단다? ㅋㅋㅋ\n맨날 경주 현대 호텔에 하청업체 사장들 불러서 워크샵 한다고 모아놓고 지들 차량 강매 한다는건\n알만한 사람들은 다 안다. 심지어 전문적으로 하청업자 가족들 차량 관리까지 한다고 하더만. 마루타로\n삼아서 처음 출고된 똥차들 얼리 어답터 만들어서 차 계약 많이 됐다고 홍보하는 한심한 놈들. \n와이파이로 유튜브 보고 게임하면서 만든 차를 독일3사 차량들과 가격대를 비슷하게 팔면 누가 사냐?\n니들 한테 코꿰인 하청업체 관련자들이나 사겠지.', 'ocuk****', 'N', to_date('2020-01-15 20:08:02','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014809664, 0, '난 유튜브쓰레기들이 만드는 차 안기다리는데', 'laid****', 'N', to_date('2020-01-15 18:19:47','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014797604, 0, '미세먼지 저감조치 하는판에 ㅡㅡ 디젤 신차 홍보가 웬말이래', 'love****', 'N', to_date('2020-01-15 18:06:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014860814, 0, '딴짓하면서  만든차인데  잘  돌아다닐지 의문스럽군', 'tjsd****', 'Y', to_date('2020-01-15 19:14:23','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014878254, 0, '이돈이면 벤츠탄다', 'sub2****', 'N', to_date('2020-01-15 19:33:23','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014879884, 2014781574, '꼬우면 들어오시던가요.\n루저새끼야', 'pgh1****', 'N', to_date('2020-01-15 19:35:12','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014890344, 2014781574, '오늘 유투브귀족노조 새퀴들과 알밥새퀴들 천지네요 ㅋㅋ', 'myri****', 'N', to_date('2020-01-15 19:46:25','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014897614, 2014781574, 'ㅋㅋㅋㅋ', 'c542****', 'N', to_date('2020-01-15 19:54:19','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014906874, 2014781574, '현기 노조는  부끄러운줄 알아야 한다', 'emu1****', 'N', to_date('2020-01-15 20:03:49','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014933164, 2014781574, '노조 토나온다 우웩', 'kt10****', 'N', to_date('2020-01-15 20:27:50','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014934484, 2014781574, '임원이 몇십억받아도 귀족이라 못하고 노동자에게 귀족거리는 씹벼어어엉쉰들', 'cook****', 'N', to_date('2020-01-15 20:29:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015020994, 2014781574, '이번일 계기로 귀족노조차는 내 인생에서 아웃이여.', 'kwon****', 'N', to_date('2020-01-15 21:58:47','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014922864, 2015020994, '차선 바꾸다가 어차피 뒈져서 관이 될건데 디젤이건 휘발유건 뭔 상관이여.  벤틀리 짝퉁처럼 만들면 좋은 관이 될거지. 장담 하는데 이차 오너보다 뚜벅이가 오래산다.', '0108****', 'N', to_date('2020-01-15 20:18:07','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014944694, 2014785344, '크린에너지가 어딨냐 태양열자동차아니면 다 똑같은것 전기차는 개뿔 에너지는 변환할수록 손실이크다 석유직접 때는게 더 이득이지 에너지소모만볼때는 석유를 전기로바꿔서 운동에너지로 변한하는거보다 바로 운동에너지로 가는게 에너지소모가적다..', 'shpg****', 'N', to_date('2020-01-15 20:39:09','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014953084, 2014785344, '유로5  유로6는 가솔린보다 더 크린하지않냐', 'suki****', 'N', to_date('2020-01-15 20:47:23','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014959014, 2014785344, '유로 6건 뭐건 이 정부에서 디젤 끌면 적폐로 몰린다.', 'powe****', 'N', to_date('2020-01-15 20:54:00','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015015014, 2014785344, '전기는 자연적으로생기는줄아나 ㅋㅋㅋ', 'face****', 'N', to_date('2020-01-15 21:52:03','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015016144, 2014922864, '디젤이 무공해인데 육이오때 60트럭 타다가 gmc조터는소리하고 자빠졌네~요즘 디젤차 모하비  검사 가봐라 매연제로다 ㄷㅅ', 'gomd****', 'N', to_date('2020-01-15 21:53:18','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015019344, 2014785344, '화력발전 할거면 하이브리드 아닌 이상 내연차나 전기차나 결국 환경오염은 똑같이 하는게 팩트고 원자력 발전을 할거면 무조건 전기차가 친환경이지.', 'dnlw****', 'N', to_date('2020-01-15 21:57:04','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015022114, 2014785344, '고급 휘발유 넣어봐야 아 디젤이 그립다 하지.  한번 만땅에 16만원 들어가 봐야', 'sky3****', 'N', to_date('2020-01-15 21:59:49','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014926264, 2014911294, '니까짓게 뭘안다고 씨부리는겨', 'drif****', 'N', to_date('2020-01-15 20:21:16','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014972344, 2015016144, '맨날 신차 나올때마다 계약대수 많으면 하청업체 사장들한테 강제 구매 시킨거라고... ㅋ \n어그로 좀 그만  끌었으면..', 'poou****', 'N', to_date('2020-01-15 21:08:09','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014987114, 2014911294, '하청업체로 참여해도 내가 만든 차라는 생각 있음 사겠지...', 'paul****', 'N', to_date('2020-01-15 21:22:53','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015008334, 2014911294, '1차벤더 임원급들 차량 보면 답나오지.\n그거 관행인데?  맞는소리구만.', 'rokm****', 'N', to_date('2020-01-15 21:45:12','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2015020864, 2014911294, '하청업체 사장들이 수천명은 되는가 보네. 게다가 그 사람들한테는 G90 사라하지 이거사라고 안해 ㅋㅋ', 'dnlw****', 'N', to_date('2020-01-15 21:58:37','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014823424, 2014846954, '그럼 여기서 얼쩡거리지말고 니차 사서 타고다녀 손꾸락아프게 사지도못할차 까고다니지말고', 'qhd3****', 'N', to_date('2020-01-15 18:33:58','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014866634, 2014809664, '버스 잘타라 수업잘듣고 부모님도 말씀 잘들어', 'afte****', 'N', to_date('2020-01-15 19:21:04','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014870654, 2014823424, '그런차 살돈은 있냐? 어리석은놈!', 'tipl****', 'N', to_date('2020-01-15 19:25:20','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014880034, 2015020864, '살수는 있고? ㅋㅋ', 'kshp****', 'N', to_date('2020-01-15 19:35:22','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014889234, 2014809664, '유투브귀족노조와 알밥새퀴들 전부 커뮤니티만 쳐 돌아다니네 ㅋㅋ 원가절감 흉기차 만세~~', 'myri****', 'N', to_date('2020-01-15 19:45:24','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014908064, 2014809664, '못사는데 살수있는척 하지마라 ㅋ', 'tod8****', 'N', to_date('2020-01-15 20:04:51','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014937624, 2014809664, '빨갱이가 나라를 잡으니 빨갱이가 판치는구나', 'tim5****', 'N', to_date('2020-01-15 20:32:07','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014942964, 2014809664, '역시일할때도 인터넷 하니깐 댓글다는 민노총 센스~! 끝내줘요!', 'drak****', 'N', to_date('2020-01-15 20:37:37','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (1, 2014947404, 2014908064, '여기 현대 관계자들있어요 ㅋㅋ ㅂㄷㅂㄷ ㅋㅋ', 'rlaw****', 'N', to_date('2020-01-15 20:41:40','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991314325, 0, '난 따뜻하게 잘 입고 있는데....', 'jjoi****', 'N', to_date('2020-01-15 18:44:06','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991319165, 0, '지구 온난화 너무 걱정됩니다..', 'teng****', 'N', to_date('2020-01-15 18:49:13','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991391565, 0, '이번주 계속 춥구만.. 롱패딩 너무 잘 입고 다님~', 'seok****', 'N', to_date('2020-01-15 20:16:16','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991344395, 0, '내가  기상청에  마음에  빚이 있다', 'axch****', 'Y', to_date('2020-01-15 19:15:58','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991319025, 0, '난 추븐데', 'yazz****', 'N', to_date('2020-01-15 18:49:05','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991365575, 0, '아..개구리도 하는데 난 뭐냐...', 'aida****', 'N', to_date('2020-01-15 19:41:57','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991415955, 0, '나오늘 추워서 듁을뻔했는데 아침에 -5  한낮에 1도면 됐지 얼매나 더추워야', 'ana0****', 'N', to_date('2020-01-15 20:49:55','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991379595, 0, '롱패딩은 그냥기본템 올해 못입음 내년에입음됨', 'conq****', 'N', to_date('2020-01-15 20:00:53','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

INSERT INTO EXER_BBS_COMMENT
  (BBS_ID, COMMENT_ID, PARENT_COMMENT_ID, CONTENT, WRITER, DELETE_AT, CREATE_DATE, UPDATE_DATE, DELETE_DATE)
VALUES
  (2, 1991347465, 0, '서울은 추워 제주도 같은 남쪽지방이나 그렇치', 'zmdz****', 'N', to_date('2020-01-15 19:20:00','YYYY-MM-DD HH24:MI:SS'), NULL, NULL);

COMMIT;

 

 

우선은 댓글 대댓글을 모두 표현해주기 위하여 계층쿼리로 표현하였습니다

 

화면에 모든 댓글을 뿌려줄때  순환식 구조를 활용하여 결과를 모두 추출하는 경우를 표현했습니다

 

순환식 구조의 장점은 댓글 대댓글 깊이 제한이 없을 경우 계속 깊이를 + 할 수 있습니다

 

아래 결과를 보면 깊이 5까지 데이터가 있으며 원할 경우 더 추가가 가능합니다

 

하지만 화면에서 처리 제약으로 제한을 두는데 보통 큰 커뮤니티는 깊이 2 ~3 까지 제한을 두는것 같습니다

 

/* 댓글 보기 쿼리 (계층식)*/
SELECT BBS_ID
       ,LEVEL COMMENTLEVEL
       ,COMMENT_ID 
       ,PARENT_COMMENT_ID 
       ,CONTENT
       ,WRITER
       ,CREATE_DATE
       ,UPDATE_DATE
       
        
FROM (SELECT * 
      FROM EXER_BBS_COMMENT
      WHERE BBS_ID = 1   -- 댓글을 가져올 게시판 ID
      AND DELETE_AT ='N' --삭제된 데이터는 필터링
      ) 
START WITH  PARENT_COMMENT_ID =0
CONNECT BY PRIOR COMMENT_ID = PARENT_COMMENT_ID 
ORDER SIBLINGS BY COMMENT_ID -- 댓글 ID로 정렬
;

위 쿼리에서는 삭제된것은 조건절에서 삭제된 데이터는 가져오지 않게 조건이 걸려있습니다

 

이 경우 삭제된 댓글의 대댓글이 있을경우 대댓글도 목록에서 빠지게 됩니다

 

 

 

그러면 삭제된것도 표현해주면서 대댓글도 나오게 할려면 

 

아래와 같이 전체목록을 다 표현해주면서 

 

삭제여부가 'Y'인 컨텐츠를 CASE WHEN 절로 삭제된 댓글이라고 표현해줍니다

 

그러면 삭제가 된 내역을 남기면서 그 하위에 대댓글까지 보존 시킬 수 있게됩니다

/* 댓글 보기 쿼리 (계층식)*/
SELECT BBS_ID
       ,LEVEL COMMENTLEVEL
       ,COMMENT_ID 
       ,PARENT_COMMENT_ID 
       ,CASE WHEN DELETE_AT ='Y' THEN '***삭제된 댓글입니다***' ELSE CONTENT END CONTENT
       ,WRITER
       ,DELETE_AT
       ,CREATE_DATE
       ,UPDATE_DATE
       ,DELETE_DATE     
        
FROM (SELECT * 
      FROM EXER_BBS_COMMENT
      WHERE BBS_ID = 1 --게시판_ID 검색절
      --AND DELETE_AT ='N'  
      ) 
START WITH  PARENT_COMMENT_ID =0
CONNECT BY PRIOR COMMENT_ID = PARENT_COMMENT_ID 
ORDER SIBLINGS BY COMMENT_ID -- 댓글 ID로 정렬
;

 

아래 구문은

 

프로그램에서 구현해야 할 댓글의 공백처리나 대댓글 표시를 쿼리로 처리해야 될 경우를 표현한 것입니다

 

보통은 프로그램 화면단에서 처리를 합니다만, 그 처리를 DB에서도 해줄 수 있습니다

 

/* 댓글 보기 쿼리 (계층식)*/
SELECT BBS_ID
       ,LEVEL COMMENTLEVEL
       ,COMMENT_ID 
       ,PARENT_COMMENT_ID 
       ,CASE WHEN LEVEL =1 THEN '' ELSE LPAD('└',LEVEL*4,' ') END ||
        CASE WHEN DELETE_AT ='Y' THEN '***삭제된 댓글입니다***' ELSE CONTENT END CONTENT
       ,WRITER
       ,DELETE_AT
       ,CREATE_DATE
       ,UPDATE_DATE
       ,DELETE_DATE     
        
FROM (SELECT * 
      FROM EXER_BBS_COMMENT
      WHERE BBS_ID = 1 --게시판_ID 검색절
      --AND DELETE_AT ='N'  
      ) 
START WITH  PARENT_COMMENT_ID =0
CONNECT BY PRIOR COMMENT_ID = PARENT_COMMENT_ID 
ORDER SIBLINGS BY COMMENT_ID -- 댓글 ID로 정렬
;

계층형 쿼리로 모두 표현해준다면 

 

실시간으로 많은 댓글이 생성되어 모든 댓글을 화면에 뿌려줄 경우 

 

성능저하가 발생된다면 계층형 쿼리를 통해 모든 댓글을 뿌려주는것이 아닌

 

일반 구문에서 PARENT_COMMENT_ID를 통해 대댓글 호출하는 방식을 택해야 할지도 모릅니다

 

그 경우는 아래와 같이 건별로 대댓글을 검색하여 사용하면 됩니다

 

/* 건별로 대댓글 검색 (검색키 부모댓글ID) */
SELECT BBS_ID
       ,NULL COMMENTLEVEL -- 뎁스표현 불가능
       ,COMMENT_ID 
       ,PARENT_COMMENT_ID 
       ,CASE WHEN DELETE_AT ='Y' THEN '***삭제된 댓글입니다***' ELSE CONTENT END CONTENT
       ,WRITER
       ,DELETE_AT
       ,CREATE_DATE
       ,UPDATE_DATE
       ,DELETE_DATE  
       
FROM EXER_BBS_COMMENT
WHERE BBS_ID = 1 --게시판_ID 검색절
AND PARENT_COMMENT_ID= 2014780334 
      --AND DELETE_AT ='N'  

 

 

단점으로는 계층구조에서 사용하는 LEVEL 칼럼을 통해 COMMENT LEVEL을 표현하였는데

건별로 검색할 경우 표현이 어렵습니다. 그러므로 맨 처음 테이블을 설계할 때 COMMENTLEVEL 칼럼까지 생성하여

 

뎁스를 저장하는것이 좋아보입니다

 

 

DDL문으로 해당 뎁스칼럼을 추가해줍니다

ALTER TABLE EXER_BBS_COMMENT
 ADD (
  COMMENT_LV NUMBER
);

 

신규 칼럼에 값을 넣어주기 위해 계층구조의 깊이값을 MERGE 구문을 통해 갱신하여줍니다

 

/* 계층구조의 깊이 값을 신규 칼럼에 갱신 */
MERGE INTO EXER_BBS_COMMENT A
USING ( 
        SELECT BBS_ID
               ,LEVEL COMMENTLEVEL
               ,COMMENT_ID 
               ,PARENT_COMMENT_ID 
               ,CASE WHEN LEVEL =1 THEN '' ELSE LPAD('└',LEVEL*4,' ') END ||
                CASE WHEN DELETE_AT ='Y' THEN '***삭제된 댓글입니다***' ELSE CONTENT END CONTENT
               ,WRITER
               ,DELETE_AT
               ,CREATE_DATE
               ,UPDATE_DATE
               ,DELETE_DATE     
                
        FROM (SELECT * 
              FROM EXER_BBS_COMMENT
              
              ) 
        START WITH  PARENT_COMMENT_ID =0
        CONNECT BY PRIOR COMMENT_ID = PARENT_COMMENT_ID 
      ) B
ON (A.COMMENT_ID = B.COMMENT_ID )
WHEN MATCHED THEN
UPDATE SET  A.COMMENT_LV = B.COMMENTLEVEL;
      

 

 

갱신 후에

COMMENT_LV 칼럼에 저장되어있는 깊이 값을 통해 COMMENTLEVEL을 표현해줄 수 있게됩니다

/* 건별로 대댓글 검색 (검색키 부모댓글ID) */
SELECT BBS_ID
       ,COMMENT_LV COMMENTLEVEL -- 뎁스표현 가능
       ,COMMENT_ID 
       ,PARENT_COMMENT_ID 
       ,CASE WHEN DELETE_AT ='Y' THEN '***삭제된 댓글입니다***' ELSE CONTENT END CONTENT
       ,WRITER
       ,DELETE_AT
       ,CREATE_DATE
       ,UPDATE_DATE
       ,DELETE_DATE  
       
FROM EXER_BBS_COMMENT
WHERE BBS_ID = 1 --게시판_ID 검색절
AND PARENT_COMMENT_ID= 2014780334 
      --AND DELETE_AT ='N'  

이상으로 댓글 구현하는 포스팅을 마칩니다

 

 

댓글