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
'IT | 개발 > Database' 카테고리의 다른 글
[Oracle] Jboss 에서 Oracle DB 서버 설정 파일 위치 (0) | 2020.02.14 |
---|---|
[Oracle] 시퀀스 생성 및 테이블 적용하기 (0) | 2020.02.13 |
[Oracle] row_number over partition by를 이용한 데이터 중복제거 정리(전체 column SELECT하기) (7) | 2020.01.24 |
[Mybatis | 오류해결] 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다 (6) | 2020.01.22 |
[ORACLE] 단일 행 함수 간단 정리(LOWER, UPPER, CONCAT, SUBSTR, LPAD, LTRIM, REPLACE 등) (6) | 2020.01.21 |