1. 시퀀스 생성

(1)문법

CREATE SEQUENCE [시퀀스명]

INCREMENT BY [증감숫자]  --증감숫자가 양수면 증가 음수면 감소 디폴트는 1

START WITH [시작숫자]      -- 시작숫자의 디폴트값은 증가일때 MINVALUE 감소일때 MAXVALUE

NOMINVALUE OR MINVALUE [최솟값] -- NOMINVALUE : 디폴트값 설정, 증가일때 1, 감소일때 -1028

                                                    -- MINVALUE : 최소값 설정, 시작숫자와 작거나 같고 MAXVALUE보다 작아야함

NOMAXVALUE OR MAXVALUE [최대값]  -- NOMAXVALUE : 디폴트값 설정, 증가일때 1027, 감소일때 -1

                                                       -- MAXVALUE : 최대값 설정, 시작숫자와 같거나 크고 MINVALUE보다 커야함

CYCLE OR NOCYCLE    --CYCLE 설정시 최대값에 도달하면 최소값부터 다시 시작

                                  --NOCYCLE 설정시 최대값 생성 시 시퀀스 생성중지

CACHE [숫자/n]              --CACHE 설정시 메모리에 시퀀스 값을 미리 할당하여 속도 향상 (default: 20)

 

(2)예시

CREATE SEQUENCE EX_SEQ   --시퀀스이름 EX_SEQ
INCREMENT BY 1                --증감숫자 1
START WITH 1                    --시작숫자 1
MINVALUE 1                      --최소값 1
MAXVALUE 1000                --최대값 1000
NOCYCLE                          --순환하지않음
CACHE 20;                             --메모리에 시퀀스값 미리할당

 

2. 시퀀스 조회

(1)단일 조회

SELECT * FROM USER_SEQUENCES WHERE SEQUENCE_NAME = EX_SEQ --단일 시퀀스 조회

(2전체 조회

SELECT * FROM USER_SEQUENCES --전체 시퀀스 조회

 

3. 시퀀스 수정

(1)문법

ALTER SEQUENCE [시퀀스명]
INCREMENT BY [증가값]
NOMINVALUE OR MINVALUE [최솟값] 
NOMAXVALUE OR MAXVALUE [최대값]
CYCLE OR NOCYCLE [사이클 설정 여부]
CACHE [숫자/n] [캐시 설정 여부]

 

(2)예시

ALTER SEQUENCE EX_SEQ
INCREMENT BY 2
MINVALUE 2
MAXVALUE 10000
CYCLE
NOCACHE 20;

 

4. 시퀀스 삭제

(1)문법

DROP SEQUENCE [시퀀스명]

 

(2)예시

DROP SEQUENCE EX_SEQ

+ Recent posts