[SQL] SEQUENCE

지미미·2023년 4월 24일
0

Oracle SQL Developer

목록 보기
11/15
post-thumbnail

시퀀스

자동 순번을 반환하는 데이터베이스 객체이다. 특정한 로직을 통해 사번을 추출하는 것이 아니라 단순히 증감 연산을 이용해 유일한 숫자를 구할 때는 시퀀스를 사용하면 편리하다.

시퀀스 생성

CREATE SEQUENCE [스키마명.]시퀀스명
INCREMENT BY 증감숫자
START WITH 시작숫자
NOMINVALUE | MINVALUE 최소값
NOMAXVALUE  | MAXVALUE 최대값
NOCYCLE | CYCLE
NOCACHE | CACHE;
  1. INCREMENT BY 증감숫자
    증감숫자는 0이 아닌 정수. 양수면 증가, 음수면 감소. 디폴트는 1.
  2. START WITH 시작숫자
    시작숫자의 디폴트 값은 증가일 때 MINVALUE, 감소일 때 MAXVALUE.
  3. NOMINVALUE
    디폴트 값으로 증가일 때 1, 감소의 경우 -(1027-1).
  4. MINVALUE 최소값
    최소값은 시작숫자와 작거나 같아야하고, MAXVALUE보다 작아야한다.
  5. NOMAXVALUE
    디폴트 값으로 증가일 때 1028-1, 감소의 경우 -1.
  6. MAXVALUE 최대값
    시작숫자와 작거나 커야하고, MINVALUE보다 커야한다.
  7. NOCYCLE
    디폴트 값으로 최대나 최솟값에 도달하면 생성 중지.
  8. CYCLE
    증가는 최댓값에 도달하면 다시 최솟값부터 시작, 감소는 최솟값에 도달하면 다시 최댓값에서 시작.
  9. NOCACHE
    디폴트로 메모리에 시퀀스 값을 미리 할당해 놓지 않으며 디폴트 값은 20.
  10. CACHE
    메모리에 시퀀스 값을 미리 할당해 놓음.
  • 시퀀스 사용
    • 시퀀스의 현재 (순번)값 : 시퀀스명.CURRVAL
    • 시퀀스의 다음 (순번) 값 : 시퀀스명.NEXTVAL

시퀀스 삭제

DROP SEQUENCE [스키마명.]시퀀스명;
profile
블루라이트로 광합성 하는 새럼

0개의 댓글