공부하는 블로그

(ORACLE) 시퀀스 본문

Develop/DB

(ORACLE) 시퀀스

모아&모지리 2018. 4. 19. 14:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
INSERT INTO BOARD      (
                            BOARD_ID
                            , SUBJECT
                            , WRITE_DATE
                            , VIEW_COUNT
                            , LIKE_COUNT
                            , DISLIKE_COUNT
                            , CONTENT
                            , ID
                        )
VALUES                  (
                            3
                            , '제목입니다..'
                            , SYSDATE
                            , 0
                            , 0
                            , 0
                            , '내용입니다. 내용이네요'
                            , 'admin'
                        )
;
 
COMMIT;
cs


BOARD_ID를 입력할때 매번 값을 채울수 없으니 시퀀스를 만들어서 가져오도록한다.



호출할 때마다 1씩 증가한다.

FROM DUAL은 쓸 것이 없을 때쓴다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
INSERT INTO BOARD      (
                            BOARD_ID
                            , SUBJECT
                            , WRITE_DATE
                            , VIEW_COUNT
                            , LIKE_COUNT
                            , DISLIKE_COUNT
                            , CONTENT
                            , ID
                        )
VALUES                  (
                            BOARD_ID_SEQ.NEXTVAL     ---시퀀스 
                            , '제목입니다..'
                            , SYSDATE
                            , 0
                            , 0
                            , 0
                            , '내용입니다. 내용이네요'
                            , 'admin'
                        )
;
cs


시퀀스를 쓸때는 대부분 NUMBER타입을 쓰지 않고 

VARCHAR2 타입을 사용한다. 중복이 시키지 않도록!!!  (pk의 관리)


데이터가 많을 때에서는 아래처럼 시퀀스를 쓴다.

BD-2016092116-0000001


1
2
3
SELECT 'BD-' || TO_CHAR(SYSDATE, 'YYYYMMDDHH24'|| '-' || LARD(BOARD_ID_SEQ,NEXTVAL, 6'0')
FROM   DUAL
;
cs



필요한 시퀀스





시퀀스 생성코드(18,04.19 추가)


CREATE SEQUENCE 시퀀스이름

START WITH 1

INCREMENT BY 1

'Develop > DB' 카테고리의 다른 글

oracle error code  (0) 2018.07.16
fk(foreign key) 제약조건 추가하기  (0) 2018.04.19
DB View 사용하기  (0) 2018.04.09
와일드카드 문자를 이용한 필터링  (0) 2018.04.04
SQL injection  (0) 2018.01.26