[Oracle] 오라클 시퀀스(Sequence) 생성/수정/삭제/조회 사용법

 

오라클 Oracle 시퀀스(Sequence) 생성/수정/삭제/조회 방법


시스템을 운영하다보면 key값이 필요하게 되는 경우가 생깁니다.

소스단에서 key값을 계속 생성해서 DB에 INSERT하는방법도 있습니다.

하지만 만약 소스에 문제가 있다면 key값 생성을 잘못하여 key값 오류가 발생하는 경우도 생깁니다.

Oracle에서 제공하는 편리한 방법이 있습니다.

시퀀스(SEQUENCE)는 숫자를 자동으로 생성하여 순차적으로 생성해주는 기능을 제공합니다.

그럼 시퀀스를 생성, 수정, 삭제, 조회 방법을 알아볼게요.

 

1. 오라클 시퀀스 문법

- docs.oracle 참조

 

2. 시퀀스 생성 방법

--문법
CREATE SEQUENCE [시퀀스 명]
INCREMENT BY [증감숫자]  -- 시퀀스 증가값.(기본값 1), 
START WITH [시작숫자]    -- 시퀀스 시작값.
MAXVALUE [최대값] -- 시퀀스 최대값.(생략시 최대값 무한대 NOMAXVALUE)
MINVALUE [최소값] -- 시퀀스 최소값.(생략시 최소값 무한대 NOMINVALUE)
CYCLE OR NOCYCLE  -- 기본값은 NOCYCLE 입니다. CYCLE로 지정하면 최대값에 도달했을때 다시 최소값부터 시작합니다.

--예제
CREATE SEQUENCE TEST_SEQ
INCREMENT BY 2  -- 증가숫자 2
START WITH 1    -- 시작값 1
MAXVALUE 3000 -- 최대값 3000
MINVALUE 1 --  최소값 1
NOCYCLE  -- 순환안함

Sequence TEST_SEQ이(가) 생성되었습니다.

시퀀스 생성이 되었습니다. 제대로 생성되었는지 조회해볼게요.

 

 

3. 시퀀스 설정값 조회 방법

SELECT * FROM USER_SEQUENCES; //전체시퀀스 조회

SELECT * FROM USER_SEQUENCES where sequence_name = 'TEST_SEQ'; //생성한 시퀀스 조회

 

4. 시퀀스 조회 방법

SELECT 시퀀스명.NEXTVAL FROM 테이블명 으로 조회하면 됩니다.

select TEST_SEQ.NEXTVAL from dual;

// 첫번째 조회시 1
// 두번째 조회시 3
// 세번째 조회시 5

// 2씩 증가

 

5. 시퀀스 수정 방법

--문법
ALTER SEQUENCE [시퀀스 명]
INCREMENT BY [증감숫자]  -- 수정할 증가값.
MAXVALUE [최대값] -- 수정할 최대값
MINVALUE [최소값] -- 수정할 최소값
CYCLE OR NOCYCLE  -- cycle 또는 nocycle

--예제
ALTER SEQUENCE TEST_SEQ
INCREMENT BY 5  -- 증가숫자 5
MAXVALUE 5000 -- 최대값 5000
MINVALUE 1 --  최소값 1
NOCYCLE  -- 순환안함

Sequence TEST_SEQ이(가) 변경되었습니다.

증가 5, 최대값 5,000 정상적으로 변경이 되었네요.

 

 

6. 시퀀스 삭제 방법

--문법
DROP SEQUENCE [시퀀스명];

--예제
DROP SEQUENCE TEST_SEQ;

Sequence TEST_SEQ이(가) 삭제되었습니다.

 

 

댓글

Designed by JB FACTORY