상세 컨텐츠

본문 제목

오라클 시퀀스 시작 번호 변경 (ORA-02283)

DB/Oracle

by husks 2015. 8. 13. 13:28

본문

반응형


업무를 하다가 시퀀스의 시작 번호를 바꿔야 하는 경우가 생겼습니다.


하지만 시퀀스 시작번호를 바꾸려고 했더니 다음과 같은 에러가 발생 하였습니다.


ORA-02283: 시퀀스 시작 번호는 변경할 수 없습니다.


이러한 경우에는 시퀀스의 증가값을 변경해주고 nextval로 원하시는 번호 까지 변경한후에 다시 시퀀스의 증가값을 1로 변경 하시면 됩니다.


아래는 예제 입니다.


--table_seq라는 시퀀스의 증가값을 원하는 시작값으로 가도록 변경한다. 여기서는 300으로 정하겠습니다.(-300도 됩니다.)
ALTER SEQUENCE table_seq
INCREMENT BY 300
NOCACHE
NOCYCLE;

--시퀀스를 호출합니다. 원하는 값만큼 증가한걸 확인 하실 수 있습니다.
SELECT table_seq.nextval FROM dual;

--다시 원상태로 돌리기 위해 증가값을 1로 변경합니다.
ALTER SEQUENCE table_seq
INCREMENT BY 1
NOCACHE
NOCYCLE;

위의 작업은 시퀀스의 시작값을 변경할 수 없으니 증가값을 변경하여 원하는 값까지 이동시킨후 원상태로 복구 하는것 입니다.


반응형

관련글 더보기

댓글 영역