출처 : 시퀀스 현재값 변경하기(alter sequence startwith ???)


1. 시퀀스의 현재 값을 확인

SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'TB_ZZTRACE_SQ01';


2. 시퀀스의 INCREMENT 를 현재 값만큼 빼도록 설정 (아래는 현재값이 999999 일 경우)

ALTER SEQUENCE TB_ZZTRACE_SQ01 INCREMENT BY -999999;


3. 시퀀스에서 다음 값을 가져 온다

SELECT TB_ZZTRACE_SQ01.NEXTVAL FROM DUAL;


4. 현재 값을 확인 해보면 -999999 만큼 증가 했다

SELECT TB_ZZTRACE_SQ01.CURRVAL FROM DUAL;


5. 시퀀스의 INCREMENT 를 1로 설정 한다

ALTER SEQUENCE TB_ZZTRACE_SQ01 INCREMENT BY 1;


6. 시퀀스가 1부터 다시 시작 한다.




같은 세션에서 시퀀스의 다음 값을 한번 조회한 다음에 사용하면 오류가 발생하지 않는다.


현재 값을 구하기 위해서는 맨 마지막으로 조회된 값을 조회 해도 된다.


SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'TB_ZZTRACE_SQ01';


+ Recent posts