지정된 수치로 증가하거나 감소시키는 일종에 번호표.
최대 15개까지 생성가능. 시작 값은 수정

-시퀀스 생성
CREATE SEQUENCE 생성할시퀀스네임
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
※n은 값, |는 선택조건 or

INCREMENT BY n은 sequence 번호간의 가격인 정수 n이며, 생략되면 sequence는 1씩 증가.
START WITH n은 생성되는 첫 번째 sequence 번호로 생략되면 시퀀스는 1씩 증가.
MAXVALUE n은 생성가능한 sequence의 최대값.
NOMAXVALUE는 기본 옵션으로 최대값은 1027
MINVALUE n은 생성가능한 sequence의 최소값(써주지 안으면 default 값인 38이 주어집니다.)
NOMINVALUE는 최소값 1.
CACHE n|NOCACHE는 Oracle Server가 미리 지정하고 메모리에 유지할 값의 수로 default값은 20입니다.

테이블에 insert때 시퀀스값 넣어주기.
SQL>insert into (id_num,name) values (시퀀스네임.NEXTVAL, '이름');

30부터 시작해서 2씩 감소하는 범위가 최대값 70에서 최소값 -50까지에서 번호표를 생성후 셀렉트
SQL> create sequence member_no2 increment by -2 start with 30
2 maxvalue 70
3 minvalue -50;

SQL> select member_no2.nextval, name, tel, addr 2 from member;



-시퀀스 수정
ALTER SEQUENCE 수정할시퀀스네임
[INCREMENT BY n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];

자신의 sequence이거나 sequence에 대한 ALTER 권한을 가져야만 sequence를 수정할 수 있다.
아직 생성되지 않은 sequence값만이 ALTER SEQUENCE 명령에 영향받음.
유효성 검사를 하게 됩니다. 예를 들어, 새로운 MAXVALUE는 현재의 sequence값보다 작지 않아야 한다.
START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다. 다른 번호에서 다시 시작하려면 이전 sequence를 삭제하고 다시 생성해야 한다.



-시퀀스 삭제
DROP SEQUENCE 삭제할시퀀스네임;
블로그 이미지

듀시즌

나는 나는 피노키오다!