개발 & 데이터베이스/DB

[ORACLE] 시퀀스(Sequence) 생성과 사용 방법

K.두부 2021. 12. 20. 23:09
반응형

시퀀스 정의

시퀀스(Sequence)는 오라클에서 지원하는 기능 중 하나로써 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체입니다. 보통 기본키(PRIMARY KEY) 값에 중복을 방지하기 위해서 사용됩니다. 시퀀스는 테이블과 독립적으로 저장, 생성되고 메모리에 Cache 되었을 때 시퀀스 값의 액세스 효율이 증가합니다.

 

시퀀스 생성 방법
CREATE SEQUENCE [시퀀스 이름]
INCREMENT BY [증감 숫자]
START WITH [시작 숫자]
NOMINVALUE OR MINVALUE [최소값]
NOMINVALUE OR MAXVALUE [최대값]
CYCLE OR NOCYCLE
CACHE OR NOCACHE
ORDER OR NOORDER

⑴ INCREMENT BY: 양수면 숫자만큼 증가, 음수면 숫자만큼 감소, 디폴트 값은 1

⑵ START WITH: 시작 값을 지정, 디폴트 값은 증가할 시 MAX, 감소할 시 MIN

⑶ MINVALUE: 최소값

⑷ MAXVALUE: 최댓값

⑸ CYCLE OR NOCYCLE: 최댓값 도달 시 다시 시작 혹은 생성 멈춤

⑹ CACHE OR NOCACHE: 메모리에 시퀀스 값을 미리 할당할지 여부

⑺ ORDER OR NOORDER: 순차적으로 모두 채워서 사용 혹은 건너뛸 수 있을지 여부

 

시퀀스 수정 및 삭제하는 방법
ALTER SEQUENCE [시퀀스 이름]
INCREMENT BY [증감 숫자] 
NOMINVALUE OR MINVALUE [최소값]
NOMINVALUE OR MAXVALUE [최대값]
CYCLE OR NOCYCLE 
CACHE OR NOCACHE
ORDER OR NOORDER

시퀀스는 START WITH 값을 제외하고 모두 수정할 수 있습니다.

 

DROP SEQUENCE [시퀀스 이름]

DROP 명령어를 이용해서 시퀀스를 삭제할 수 있습니다.

 

시퀀스 사용 방법
INSERT INTO 테이블명 (
  COLUMN1
, COLUMN2
) VALUES (
  VALUE1
, 시퀀스 이름
)

시퀀스는 주로 INSERT 쿼리문에 사용되고, 위와 같이 VALUES 값에 시퀀스 이름을 적어주면 자동으로 설정한 증감 숫자만큼 증가하거나 감소해서 들어가게 됩니다.

반응형