1. 회원제 게시판에 사용될 계정 생성
-- 계정 생성
CREATE USER ODOUNG IDENTIFIED BY 1234;
-- 권한 부여
GRANT CONNECT, RESOURCE TO ODOUNG;
2. 게시판 테이블(table) 및 시퀀스(sequence) 생성
-- TABLE 생성
CREATE TABLE TBL_BOARD (
BNO NUMBER,
TITLE VARCHAR2(300),
CONTENT CLOB,
HITCOUNT NUMBER DEFAULT 0,
REGDATE DATE DEFAULT SYSDATE,
WRITER VARCHAR2(100)
);
-- SEQUENCE
CREATE SEQUENCE SEQ_BOARD;
3. 게시판 기능 구현(SQL 문법)
- 게시글 등록
-- 글 등록
INSERT INTO TBL_BOARD(BNO, TITLE, CONTENT, WRITER)
VALUES (SEQ_BOARD.NEXTVAL, '글 제목', '글 내용', '작성자');
- 게시글 목록 조회
-- 글 목록 조회
SELECT * FROM TBL_BOARD;
-- 상세 조회
SELECT BNO, TITLE, CONTENT, HITCOUNT, REGDATE, WRITER
FROM TBL_BOARD
WHERE BNO = 1;
-- 글 목록 조회(내림차순)
SELECT * FROM TBL_BOARD ORDER BY 1 DESC;
- 게시글 수정
-- 글 수정
UPDATE TBL_BOARD SET
TITLE = '수정된 글 제목',
CONTENT = '수정된 글 내용',
REGDATE = SYSDATE
WHERE BNO = 3;
- 게시글 삭제
-- 글 삭제
DELETE TBL_BOARD
WHERE BNO = 2;
- 게시글 목록 조회 : 작성시각에 따른 출력 변환
-- 게시글 목록 조회 : 작성시각에 따른 출력 변환
SELECT BNO, TITLE, HITCOUNT,
CASE
WHEN SYSDATE - REGDATE > 1 THEN TO_CHAR(REGDATE, 'YY/MM/DD')
ELSE TO_CHAR(REGDATE, 'HH24:MI:SS')
END REGDATE,
WRITER
FROM TBL_BOARD ORDER BY 1 DESC;