[DB] Sequence(시퀀스)

Soozoo·2024년 7월 9일

데이터베이스(DB)

목록 보기
11/19

시퀀스 생성 구문

시퀀스를 생성하는 기본 구문은 다음과 같습니다.

CREATE SEQUENCE 시퀀스명
    [INCREMENT BY 증감숫자] -- 번호의 증가 값
    [START WITH 시작숫자] -- 번호의 시작 값
    [MINVALUE 최솟값 | NOMINVALUE] -- 생성할 번호의 최솟값 지정
    [MAXVALUE 최대값 | NOMAXVALUE] -- 생성할 번호의 최댓값 지정
    [CYCLE | NOCYCLE] -- 최댓값 도달 시, 시퀀스 생성 여부 지정
    [CACHE | NOCACHE]; -- 시퀀스 값을 메모리에 할당 여부 지정

옵션 설명

  1. INCREMENT BY 증감숫자
    • 시퀀스가 생성될 때마다 증가할 값입니다. 기본값은 1입니다.
    • 예시: INCREMENT BY 10 - 10씩 증가
  2. START WITH 시작숫자
    • 시퀀스의 시작 값을 지정합니다. 기본값은 1입니다.
    • 예시: START WITH 100 - 100부터 시작
  3. MINVALUE 최솟값 | NOMINVALUE
    • 생성할 번호의 최솟값을 지정합니다. 기본값은 NOMINVALUE이며, 이 경우 MINVALUE는 1입니다.
    • 예시: MINVALUE 10 - 최솟값을 10으로 설정
  4. MAXVALUE 최대값 | NOMAXVALUE
    • 생성할 번호의 최댓값을 지정합니다. 기본값은 NOMAXVALUE이며, 이 경우 최대값에 제한이 없습니다.
    • 예시: MAXVALUE 1000 - 최대값을 1000으로 설정
  5. CYCLE | NOCYCLE
    • 시퀀스가 최댓값에 도달하면 다시 최솟값으로 돌아가는지 여부를 지정합니다. 기본값은 NOCYCLE입니다.
    • 예시: CYCLE - 최댓값에 도달하면 최솟값으로 돌아감
  6. CACHE | NOCACHE
    • 시퀀스 값을 메모리에 할당할지 여부를 지정합니다. 기본값은 CACHE입니다.
    • 예시: CACHE 20 - 메모리에 20개의 시퀀스 값을 미리 할당

예제

다음은 위 옵션들을 사용하여 시퀀스를 생성하는 예제입니다.

CREATE SEQUENCE my_sequence
    INCREMENT BY 5
    START WITH 100
    MINVALUE 50
    MAXVALUE 1000
    CYCLE
    CACHE 20;

이 예제에서는 my_sequence라는 시퀀스를 생성합니다. 이 시퀀스는 5씩 증가하며, 100부터 시작합니다. 시퀀스 값의 최솟값은 50, 최댓값은 1000입니다. 최댓값에 도달하면 다시 최솟값으로 돌아가며, 20개의 시퀀스 값을 미리 메모리에 할당합니다.

profile
넙-죽

0개의 댓글