금융에 대한 모든 것

시퀀스

 시퀀스는 연속적인 숫자 값을 자동으로 증가시키는 숫자를 발생시키는 객체입니다. 시퀀스를 이용하면 기본 키의 값을 자동으로 생성할 있기 때문에 훨씬 간편해집니다.

 

시퀀스 생성하기 

 시퀀스를 생성할 아래와 같은 옵션을 있습니다.

 

시퀀스 옵션

설명

INCREMENT BY 숫자

연속적인 시퀀스 번호의 증가치를 지정합니다.

START WITH 숫자

시퀀스 번호의 시작 값을 지정합니다.

MAXVALUE 숫자

시퀀스가 가질 있는 최댓값을 지정합니다.

MINVALUE 숫자

시퀀스가 가질 있는 최솟값을 지정합니다.

CYCLE | NOCYCLE

시퀀스 값이 최댓값을 넘으면 START WITH 지정한 시작 값을 돌아가서 시퀀스를 반복합니다.

CACHE 숫시 | NOCACHE

메모리 상에서 시퀀스 값을 관리합니다.

시퀀스 생성

CREATE SEQUENCE 시퀀스명
[INCREMENT BY 숫자]
[START WITH 숫자]
[MAXVALUE 숫자]
[MINVALUE 숫자]
[CYCLE | NOCYCLE]
[CACHE | NOCACHE]

대괄호  부분은 옵션이기 때문에 작성하지 않아도 되지만 기본값이 들어갑니다.

 

예시

CREATE SEQUENCE seq
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALEU 1000
NOCYCLE
NOCACHE;

 시퀀스는 1부터 시작해 1 증가하여 최솟값 1부터 최댓값 1000까지 순번을 자동 생성합니다.

 

CURRVAL, NEXTVAL

시퀀스의 현재 값을 알아내기 위해서 CURRVAL 사용하고, 다음 값을 알아내기 위해서는 NEXTVAL 사용합니다.

 

시퀀스 객체로부터 현재  알아내기

SELECT seq.CURRVAL FROM dual;

시퀀스의 현재 값인 1 조회합니다.

 

시퀀스 객체로부터 새로운  생성하기

SELECT seq.NEXTVAL FROM dual;

시퀀스의 다음 값인 2 조회합니다.

 

시퀀스 삭제

생성한 시퀀스를 삭제하는 명령입니다.

기본 사용법

DROP SEQUENCE 시퀀스명;

 

 

반응형