Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

Code Habit

SQL - SEQUENCE 정리 본문

카테고리 없음

SQL - SEQUENCE 정리

코드베어 2020. 6. 15. 15:35

데이터베이스에서 일련번호를 생성하기 위해 사용되는 것으로 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성 할 수 있다. 시퀀스는 테이블과는 독립적으로 저장되고 생성되므로 하나의 시퀀스를 여러 테이블에서 쓸 수 있다.

 

- 시퀀스 생성

CREATE SEQUENCE behavior_id_seq
    MINVALUE 1
    MAXVALUE 9223372036854775807
    INCREMENT BY 1
    START WITH 1
    CACHE 20
    NOCYCLE;
  • MINVALUE : 시퀀스가 가질 수 있는 최소 값 .
  • MAXVALUE : 시퀀스가 가질 수 있는 최대 값.
  • INCREMENT BY : 증가 값 설정.
  • START WITH : 시작 값.
  • CACHE n | NOCACHE : 메모리상의 시퀀스 값을 관리하도록 하는 것. 기본값은 20
  • CYCLE | NOCYCLE : 시퀀스 값이 최대치를 넘어가면 시작값에서 다시 시작할지를 정함. NOCYCLE은 최대값을 넘어가면 에러를 발생.

 

- 시퀀스 사용

INSERT INTO my_table(id, name, behavior) VALUES(behavior_id_seq.NEXTVAL, '김지성''시작');

 

- 시퀀스 확인

SELECT behavior_id_seq.CURRVAL FROME DUAL;

 

NEXTVAL을 먼저 사용해야 CURRVAL을 사용할 수 있다. 만약 NEXTVAL 사용 전 CURRVAL을 사용하면 오류가 발생한다.

 

- 시퀀스 수정

ALTER SEQUENCE behavior_id_seq
    MINVALUE 100
    MAXVALUE 4000
    INCREMENT BY 2
    CACHE 10

 

- 시퀀스 제거

DROP behavior_id_seq;