■ 따로 사용자는 만들지 않고 BOARD 테이블만 만들었다.
구성은 게시글 아이디, 제목, 내용, 업로드 날짜, 작성자, 조회수, 추천수로 구성하였다.
■ 게시글 아이디 시쿼스 만들기
시퀀스 아이디는 BOARD_ID_SEQ로 만들었다. 1부터 시작해서 1씩 증가하고 999999까지가 입력된다.
최대숫자까지 입력이 되었다면 다시 1부터 시작하는 옵션이 Cycle이다.
시퀀스를 정렬하는 옵션이 Order이다
Cache는 시퀀스가 생성될 때 마다 24 캐쉬를 미리 만들어 놓는 것을 말한다.
■ 시퀀스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | INSERT INTO BOARD ( BOARD_ID , TITLE , CONTENT , CREATE_DATE , WRITER , VIEW_COUNT , RECOMMAND_COUNT ) VALUES ( 'BD-' || TO_CHAR(SYSDATE, 'YYYYMMDDHH24') || '-' || LPAD(BOARD_ID_SEQ.NEXTVAL, 6, '0') , ? , ? , SYSDATE , ? , 0 , 0 ) | cs |
BOARD_ID에 시퀀스를 INSERT하였다.
'BD-' || TO_CHAR(SYSDATE, 'YYYYMMDDHH24') || '-' || LPAD(BOARD_ID_SEQ.NEXTVAL, 6, '0')
이런식으로 INSERT 한 이유는 아이디의 중복값을 피하기 위해서다
■ TO_CHAR(SYSDATE, 'YYYYMMDDHH24')
시퀀스의 최대치를 999999로 설정을 해서 다시 1부터 지정하게 된다면 BOARD_ID의 PK값이 중복이 되는 것을 막기 위해 년월일시간까지 같이 입력을 해준것이다.
■LPAD(BOARD_ID_SEQ.NEXTVAL, 6, '0')
6자리로 시퀀스를 생성하되 빈자리는 왼쪽에서부터 0으로 체운다는 말이다
EX) BD-2018081713-000027
27번째 생성된 BOARD_ID이다.
2018년 08월 17일날 13시에 생성된 것을 의미한다. 27숫자를 제외하고 나머지 숫자는 왼쪽에서부터 0으로 입력된 것을 확인할 수 있다.
'Web' 카테고리의 다른 글
jstl.jar파일 standard.jar파일 빌드하기 (0) | 2018.08.17 |
---|---|
게시글 만들기 - 구성 (0) | 2018.08.17 |
데이터베이스 연동 (0) | 2018.08.16 |