Oracle ALTER SEQUENCE
1. ALTER SEQUENCE 개요
ALTER SEQUENCE 문을 사용하면 시퀀스 개체의 증분, 최소값, 최대값, 캐시된 숫자 및 동작을 변경할 수 있다.
다음은 ALTER SEQUENCE 문의 기본 구문이다.
1
2
3
4
5
6
7
ALTER SEQUENCE schema_name.sequence_name
[INCREMENT BY interval]
[MAXVALUE max_value | NOMAXVALUE]
[MINVALUE min_value | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE cache_size | NOCACHE]
[ORDER | NOORDER];
모든 파라미터는 CREATE SEQUENCE 문에 설명된 것과 동일한 의미를 가진다.
시퀀스 속성을 변경하면 Oracle이 백그라운드에서 몇 가지 검증을 수행한다. 예를 들어 시퀀스의 최대 수를 현재 시퀀스 번호보다 작은 값으로 변경하면 Oracle에서 오류가 발생한다.
다른 번호로 시퀀스를 변경하려면 다음과 같이 삭제하고 다시 만들어야 한다.
1
2
3
4
DROP SEQUENCE schema_name.sequence_name;
CREATE SEQUENCE schema_name.sequence_name
START WITH new_value;
ALTER SEQUENCE 문은 미래의 시퀀스 번호에만 적용된다.
2. ALTER SEQUENCE 예제
다음 명령문은 CREATE SEQUENCE 문을 사용하여 invoice_seq라는 새 시퀀스를 생성한다.
1
2
CREATE SEQUENCE invoice_seq
START WITH 20190001;
이 예에서는 ALTER SEQUENCE 문을 사용하여 invoice_seq 시퀀스에 대한 CACHE를 켠다.
1
2
ALTER SEQUENCE invoice_seq
CACHE 10;
START WITH 번호를 변경하려면 먼저 invoice_seq 시퀀스를 삭제한다.
1
DROP SEQUENCE invoice_seq;
그런 다음 다시 만든다.
1
2
3
CREATE SEQUENCE invoice_seq
START WITH 20200001
CACHE 10;
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.