각 테이블 연동해서 기능 구현 (2)

개인프로젝트 2019. 7. 19. 11:48

실행해봐야되는 sql문



검색 기능 (글쓴이, 제목)

1
2
3
4
5
6
--게시판에서 게시글에 글쓴이의 id에 fh가 포함되는 id의 게시글을 검색
select * from MEMBER_BOARD WHERE USER_ID LIKE '%fh%';
 
 
--게시판에서 게시글 이름에 34가 들어가는 게시글을 검색 
select * from MEMBER_BOARD WHERE title LIKE '%34%';
cs



관리자 아이디생성해서 공지사항을 작성하고, 관리자아이디가 삭제되면 공지사항도 같이 삭제되고, 공지사항에 있는 댓글도 같이 삭제

1
2
3
4
5
6
7
8
9
10
insert into ADMIN (admin_id, admin_pass, e_mail) values ('dlgzfsq_admin'172235'dlgk1@naver.com'); --관리자 아이디 생성
 
insert into ADMIN_BOARD (bno, admin_id, viewcnt, title, rcnt, content) 
values (admin_bno.nextval, 'dlgkstjq11_admin'0'1번째공지글'0'1번째공지글의내용');
 
select * from ADMIN;
 
select * from ADMIN_BOARD;
 
DELETE FROM ADMIN WHERE ADMIN_ID='dlgkstjq_admin';
cs




공지게시판에 공지글에 회원이 댓글을 작성하고, 댓글을 작성한 회원이 회원탈퇴를 하면 댓글까지 같이 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--공지게시판에 공지글에 회원이 댓글을 작성하고, 댓글을 작성한 회원이 회원탈퇴를 하면 댓글까지 같이 삭제
 
insert into ADMIN_BOARD (bno, admin_id, viewcnt, title, rcnt, content) 
values (admin_bno.nextval, 'dlgkstjq11_admin'0'1번째공지글'0'1번째공지글의내용'); --공지글 작성
 
select * from admin_board;
 
select * from member;
 
insert into ADMIN_BOARD_REPLY (rno, user_id, bno, r_content, join_date, recommend) --reg_date는 현재 시간이므로 따로 안넣어도 됨
values (admin_reply_bno.nextval, 'fhraos12'5'댓글작성하기', (select join_date from member where user_id='fhraos12'), 3);
 
select * from admin_board_reply;
 
delete from member where user_id='fhraos12';
cs



회원게시판 (일반게시물) 에서 추천수가 10인 게시글을 회원게시판 (베스트게시물)로 삽입하기

(테이블이 연동되어있어서 회원탈퇴하면 자동적으로 글이 삭제됨)

1
2
3
4
5
6
7
8
9
insert into member_best_board (best_bno, member_bno, user_id, viewcnt, title, rcnt, content, recommend) values 
(best_bno.nextval,
(select member_bno from member_board where recommend=10),
(select user_id from member_board where recommend=10),
0 --default값을 0으로 변경할 예정,
(select title from member_board where recommend=10),
(select rcnt from member_board where recommend=10),
(select content from member_board where recommend=10),
0 --default값을 0으로 변경할 예정);
cs



각 게시판별 추천수, 조회수 초기 기본값을 0으로 다시 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
alter table MEMBER_REPLY modify(recommend default 0);
 
alter table MEMBER_BOARD modify(viewcnt default 0);
 
alter table MEMBER_BOARD modify(rcnt default 0);
 
alter table MEMBER_BOARD modify(recommend default 0);
 
alter table MEMBER_BEST_BOARD modify(viewcnt default 0);
 
alter table MEMBER_BEST_BOARD modify(rcnt default 0);
 
alter table MEMBER_BEST_BOARD modify(recommend default 0);
 
alter table ADMIN_BOARD_REPLY modify(recommend default 0);
 
alter table ADMIN_BOARD modify(viewcnt default 0);
 
alter table ADMIN_BOARD modify(rcnt default 0);
cs



게시글 한번 클릭시 조회수 1씩 증가, 게시글 댓글 작성시 댓글 개수가 1씩 증가

1
2
3
4
5
6
7
8
9
10
11
 
--게시글을 한번 클릭시 조회수 1증가
 
update MEMBER_BEST_BOARD set viewcnt=viewcnt+1
where best_bno=10;
 
 
--게시글의 댓글을 작성시 댓글 개수가 1씩 증가
 
update MEMBER_BEST_BOARD set recommend=recommend+1
where best_bno=10;
cs



댓글 작성시 댓글 개수가 1씩 증가.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--댓글수 체크--
update MEMBER_BEST_BOARD set rcnt=(select count(*from member_reply where member_bno=31)
where best_bno=10;
 

 
--댓글 삽입--
insert into member_reply (rno, user_id, member_bno, r_content, join_date)
values (member_reply_bno.nextval, 'fhraos1225', (select member_bno from member_board where member_bno=31), '댓글작성',
(select join_date from member where user_id='fhraos1225'));
 
cs


: