개인공부
시퀀스 본문
시퀀스란?
테이블 내의 유일한 숫자를 자동으로 생성하는 자동 번호 발생기
CREATE SEQUENCE sequence_name
[START WITH n] ①
[INCREMENT BY n] ②
[{MAXVALUE n | NOMAXVALUE}] ③
[{MINVALUE n | NOMINVALUE}] ④
[{CYCLE | NOCYCLE}] ⑤
[{CACHE n | NOCACHE}] ⑥
① START WITH
시퀀스 번호의 시작값을 지정할 때 사용됩니다. 만일 1부터 시작되는 시퀀스를 생성하려면 START WITH 1이라고 기술하면 됩니다.
② INCREMENT BY
연속적인 시퀀스 번호의 증가치를 지정할 때 사용됩니다. 만일 1씩 증가하는 시퀀스를 생성하려면 INCREMENT BY 1이라고 기술하면 됩니다.
③ MAXVALUE n | NOMAXVALUE
MAXVALUE 은 시퀀스가 가질 수 있는 최대값을 지정합니다. 만일 NOMAXVALUE를 지정하게 되면 (asc:E*28, desc:-1)지정합니다.
④ MINVALUE n | NOMINVALUE
MINVALUE 은 시퀀스가 가질수 있는 최소값을 지정합니다. 만일 NOMAXVALUE를 지정하게 되면 (asc:1, desc:-1E*27)지정합니다.
⑤ CYCLE | NOCYCLE
CYCLE 은 지정된 시퀀스 값이 최대값까지 증가가 완료되게 되면 다시 START WITH 옵션에 지정한 시작 값에서 다시 시퀀스를 시작하도록 합니다. NOCYCLE은 증가가 완료되게 되면 에러를 유발시킵니다.
⑥ CACHE n | NOCACHE
CACHE 은 메모리상의 시퀀스 값을 관리하도록 하는 것인데 기본 값은 20입니다. (시퀀스를 빨리 제공하기 위해 미리 메모리에 시퀀스를 준비해 둠)
NOCACHE는 원칙적으로 메모리 상에서 시퀀스를 관리하지 않습니다.
시작 값이 1이고 1씩 증가하고, 최댓값이 100000이 되는 시퀀스 EMP_SEQ 생성
CREATE SEQUENCE EMP_SEQ
START WITH 1
INCREMENT BY 1
MAXVALUE 100000 ;
시퀀스 제거하기
DROP SEQUENCE DEPT_DEPTNO_SEQ;
시퀀스 수정
ALTER SEQUENCE sequence_name
[INCREMENT BY n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}]
ALTER SEQUENCE는 START WITH 절이 없다는 점을 빼고는 CREATE SEQUENCE와 구조가 동일합니다.
START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다.
다른 번호에서 다시 시작하려면 이전 시퀀스를 삭제하고 다시 생성해야 합니다.
'데이터베이스' 카테고리의 다른 글
사용자 관리 - 1 (0) | 2018.04.25 |
---|---|
인덱스 (0) | 2018.04.25 |
뷰(View) - 2 (0) | 2018.04.24 |
뷰(View) - 1 (0) | 2018.04.23 |
데이터 무결성 제약 조건 - 2 (0) | 2018.04.23 |