시퀀스 수정 => 시퀀스 생성과 형식이 거의 같다. create 를 alter로 변경하면 됨.
형식_
alter SEQUENCE sequence_name
[START WITH n] ①
[INCREMENT BY n] ②
[{MAXVALUE n | NOMAXVALUE}] ③
[{MINVALUE n | NOMINVALUE}] ④
[{CYCLE | NOCYCLE}] ⑤
[{CACHE n | NOCACHE}] ⑥
※수정시 주의할점
아래와 같이 기존 b_dept2_deptno2 시퀀스를 수정을 하려하지만, 오류가 난다.
SQL> alter sequence b_dept2_deptno2
2 increment by 2
3 maxvalue 23 ==>현재값 80 (모순이기에 수정이 안된다. 반드시 현재값(80)이상보다 크게 해야한다.)
4 minvalue 1
5 nocycle
6 nocache;
alter sequence b_dept2_deptno2
*
1행에 오류:
ORA-04009: MAXVALUE 에 현재치보다 작은 값을 지정할 수 없습니다
오류의 이유는 maxvalue가 데이터에 들어가있는 최대 값보다 작아지는 경우, 수정이 불가하다. 즉 항상 최대값보다 적어야 한다. 만약 현재 값보다 적은 값으로 수정으로 하고싶다면, 생성했던 시퀀스를 지우고 다시 만들면 된다.
형식2_
만들었던 시퀀스를 삭제를 하려한다면??
시퀀스 삭제는 DDL문으로 drop sequence 삭제시킬 시퀀스명
SQL> drop sequence b_dept2_deptno2;
시퀀스가 삭제되었습니다.
이렇게 삭제가 된다.
**중요**
정리하자면, 숫자데이터 중에서 중복되지 않게 숫자 데이터를 순차적으로 저장시킬때 사용하는 오라클 객체
**중요**
'Oracle > Index, Sequence, Synonym' 카테고리의 다른 글
데이터 베이스_ 오라클 [동의어, Synonym] 공용 동의어, 동의어 삭제 (0) | 2019.07.04 |
---|---|
데이터 베이스_ 오라클 [동의어, Synonym] 개요 및 간략 활용 (0) | 2019.07.03 |
데이터 베이스_ 오라클 [Sequence] 활용 2 currval, nextval (0) | 2019.07.03 |
데이터 베이스_ 오라클 [Sequence] 활용 1 currval, nextval (0) | 2019.07.03 |
데이터 베이스_ 오라클 [Sequence] 개요 (0) | 2019.07.03 |
댓글