SEQUENCE

All We Need is Data, itself !·2023년 4월 25일
0

ETC

목록 보기
10/11

시퀀스 개념

  • 지정된 기준에 의해 순차적으로 증가하거나 감소하는 숫자를 반환하는 오브젝트
  • 시퀀스 생성 시 Cache 옵션을 설정하면 해당 Cache 값만큼 미리 메모리에 할당된다.
  • 시퀀스는 10.3 이상 버전부터 가능

시퀀스 생성

CREATE SEQUENCE [seq_name]
START WITH 1
INCREMENT BY 1
MAXVALUE 1000
CYCLE
CACHE 10;
  • INCREMENT BY n : 2로 설정하면 2씩 증가한다. (-1도 가능)
  • START WITH n
  • MAXVALUE n
  • NOMAXVALUE : 9223372036854775806
  • MINVALUE n
  • NOMINVALUE : - 9223372036854775806
  • CYCLE / NOCYCLE : 최대값을 할당한 후 다시 해당 시퀀스에서 다른 번호를 할당해야 할 때 CYCLE의 경우 START WITH부터 다시 시작, NOCYCLE: 번호 할당 불가능
  • CACHE n / NOCACHE : CACHE가 10일 경우 NEXTVAL을 호출하면 마지막 번호 이후 10개를 메모리에 미리 할당한다.

시퀀스 변경 및 삭제

  • 시퀀스는 설정된 옵션의 대부분을 변경할 수 있다.
ALTER SQUENCE [name] MAXVALUE 1000;
  • 삭제
DROP SEQUENCE [name];
  • 정보 조회
    SHOW CREATE SEQUENCE; 시 START WITH 와 같은 옵션의 설정값을 확인할 수 있다

시퀀스의 사용

  • 다음 번호 채번 : NEXT VALUE FOR [name] , NEXTVAL([name]) , [name].nextval
  • 현재 번호 채번 : PREVIOUS VALUE FOR [name] , LASTVAL([name]), [name].currval
profile
분명히 처음엔 데린이었는데,, 이제 개린이인가..

0개의 댓글