본문 바로가기
IT/DB

[Oracle] 오라클 시퀀스(Sequence) 생성/수정/삭제/currval/nextval

by 스터딩아재 2021. 12. 30.
반응형

 

오라클 시퀀스(oracle sequence)

 

DB에서 주로 pk값의 채번을 위해 자주 사용하는 시퀀스에 대해 알아보도록 하겠습니다. 현재 계정이 가지고 있는 전체 시퀀스 조회 방법, 생성, 수정, 삭제 방법 그리고 각 시퀀스 현재값, 다음값 조회 방법까지 알아보겠습니다.

 

 

목차

1. 시퀀스 조회 (전체 조회, 현재값, 다음값)

2. 시퀀스 생성/수정/삭제

 


 

1. 시퀀스 조회

 

1) 시퀀스 전체 조회 (Oracle Dictionary)

 

-- 오라클 딕셔너리 조회
SELECT *
FROM   ALL_SEQUENCES

 

 

각 시퀀스의 소유자, 명칭, 최소/최대값, 증감, 현재 채번된 마지막 번호까지 한 번에 조회가 가능합니다.

 

시퀀스 전수조사할 일이 있을 때 사용하면 간단히 해결됩니다.

 

 

 

2) 시퀀스 현재/다음값 조회 (currval, nextval)

 

-- 현재값
SELECT 시퀀스명.CURRVAL FROM DUAL;

-- 다음값
SELECT 시퀀스명.NEXTVAL FROM DUAL;

 

NEXTVAL의 경우 실행 할 때마다 시퀀스 값이 올라가기 때문에 실제 채번에 사용하고, 

 

단순히 조회해보는 용도일 때는 CURRVAL로 조회하시는 걸 추천드립니다.

 

 


2. 시퀀스 생성/수정/삭제

 

1) 시퀀스 생성/수정

 

CREATE(ALTER) SEQUENCE [시퀀스명]
INCREMENT BY    [증감]
START WITH      [시작할 숫자]
MINVALUE        [최소값]
MAXVALUE        [최대값]
CYCLE OR NOCYCLE
CACHE OR NOCACHE

 

- CREATE 생성, ALTER 수정

- INCREMENT BY : 양수 혹은 음수 설정 가능. Default 1.

- START WITH : 증가일 때 Default MIN값, 음수일 때 MAX값.

- MINVALUE/MAXVALUE : 앞에 NO를 붙여 Default 설정이 가능하지만 대부분 쓰지 않음. 

- (NO)CYCLE : 최대값 도달 시 다시 최소값부터 시작, NOCYCLE의 경우 시퀀스 종료.

- (NO)CACHE : 메모리 미리 할당, NOCACHE의 경우 메모리 할당 X.

 

 

2) 시퀀스 삭제

 

DROP SEQUENCE [시퀀스명]

 

 

 

그리드형

댓글