시퀀스
자동 순번을 반환하는 데이터베이스 객체이다. 특정한 로직을 통해 사번을 추출하는 것이 아니라 단순히 증감 연산을 이용해 유일한 숫자를 구할 때는 시퀀스를 사용하면 편리하다.
시퀀스 생성
CREATE SEQUENCE [스키마명.]시퀀스명
INCREMENT BY 증감숫자
START WITH 시작숫자
NOMINVALUE | MINVALUE 최소값
NOMAXVALUE | MAXVALUE 최대값
NOCYCLE | CYCLE
NOCACHE | CACHE;
- INCREMENT BY 증감숫자
증감숫자는 0이 아닌 정수. 양수면 증가, 음수면 감소. 디폴트는 1.
- START WITH 시작숫자
시작숫자의 디폴트 값은 증가일 때 MINVALUE, 감소일 때 MAXVALUE.
- NOMINVALUE
디폴트 값으로 증가일 때 1, 감소의 경우 -(1027-1).
- MINVALUE 최소값
최소값은 시작숫자와 작거나 같아야하고, MAXVALUE보다 작아야한다.
- NOMAXVALUE
디폴트 값으로 증가일 때 1028-1, 감소의 경우 -1.
- MAXVALUE 최대값
시작숫자와 작거나 커야하고, MINVALUE보다 커야한다.
- NOCYCLE
디폴트 값으로 최대나 최솟값에 도달하면 생성 중지.
- CYCLE
증가는 최댓값에 도달하면 다시 최솟값부터 시작, 감소는 최솟값에 도달하면 다시 최댓값에서 시작.
- NOCACHE
디폴트로 메모리에 시퀀스 값을 미리 할당해 놓지 않으며 디폴트 값은 20.
- CACHE
메모리에 시퀀스 값을 미리 할당해 놓음.
- 시퀀스 사용
- 시퀀스의 현재 (순번)값 : 시퀀스명.CURRVAL
- 시퀀스의 다음 (순번) 값 : 시퀀스명.NEXTVAL
시퀀스 삭제
DROP SEQUENCE [스키마명.]시퀀스명;