반응형

오라클 객체 중 시퀀스를 알아보겠습니다. 시퀀스는 순서대로 번호를 만들어줍니다. 예를 들어 게시판 번호를 순차적으로 할당해준다고 합시다. 그렇다면 새로운 게시글을 만들 때 마다 게시판 번호는 시퀀스 객체를 통해서 순서대로 번호를 만들어 줍니다.


시퀀스 생성

CREATE SEQUENCE 시퀀스명 INCREMENT BY 증가 될 숫자 START WITH 시작 숫자 NOMINVALUE | MINVALUE 최솟값   -- NOMINVALUE 디폴트 값은 1, 최솟값 무한대로 설정

NOMAXVALUE | MAXVALUE 최대값   -- NOMAXVALUE 디폴트 값은 1028-1, 최댓값 무한대로 설정

NOCYCLE | CYCLE                -- CYCLE: 최댓값 또는 최솟값의 도달 시 최솟값 또는 최댓값 부터 시작

NOCACHE | CACHE                -- CACHE: 메모리에 시퀀스 값의 할당 여부

;


시퀀스 생성 예제

CREATE SEQUENCE BOARD_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1

MAXVALUE 99999

NOCYCLE

NOCACHE

;

BOARD_SEQ라는 시퀀스를 생성 하였다. 증가 값은 1, 시작은 1 최댓값은 99999 까지 시퀀스 생성이 가능하다. NOCYCLE, NOCACHE조건을 통해서 최댓값 도달 시 반복되는 것도 없으며 시퀀스 값을 메모리에 할당 해놓지 않는다.


시퀀스를 생성하고 나서 시퀀스 사용방법은 다음과 같다.

시퀀스 번호 추출 및 확인

BOARD_SEQ.NEXTVAL        -- 시퀀스 번호 추출

BOARD_SEQ.CURRVAL        -- 현재 시퀀스 번호 확인

시퀀스에 NEXTVAL을 호출 하면 다음 시퀀스 번호를 리턴하며 CURRVAL을 사용하면 현재 어디까지 시퀀스를 할당 했는지 알 수 있다.


시퀀스 삭제

DROP BOARD_SEQ

시퀀스 삭제는 DROP문을 사용한다.


이렇게 시퀀스를 사용하면 순차로 할당 되는 번호를 손쉽게 사용할 수 있다.

반응형

+ Recent posts