[Oracle] sequence 현재 값 수정하기

해당 코드가 필요한 상황

임의로 Sequence 의 값을 변경해야할 때



Oracle 12c 부터는 IDENTITY 를 사용하면 Auto Increment 의 기능을 제공합니다. 그렇지만 Oracle 12c 이전 버전에는 Sequence 나 Trigger 를 사용해서 키를 관리하는 것이 보편적인 방법입니다. 제가 잠깐?! 일하는 곳에서는 Primary Key 관리를 Sequence 를 이용하여 사용하고 있습니다. 


이번 글에서는 Sequence 의 현재 값을 수정하는 것을 나누어보려합니다. 이 또한 흔히 찾아볼 수는 있지만 코드로 간략하게 있으면 좋겠다 싶어 글로 남깁니다. 이러한 상황이 필요한 저의 경우는 운영 서버의 데이터를 개발 서버로 migration 할 때 Sequence 값이 달라 문제가 발생하여 임의로 값을 증가시켜줘야했습니다.


아래 질의문을 간략히 설명하면 
첫번째 질의문은 해당 Sequence 의 다음 증가 값을  1000000 을 증가하겠다고 설정한 것입니다.
두번재 질의문은 해당 Sequence 의 값을 증가 시킨 것 입니다.(설정한 1000000 이 증가됩니다)
세번째 질의문은 다시 해당 Seqeunce 의 다음 값을 1을 증가하겠다고 설정한 것입니다.




ALTER SEQUENCE TABLE_SEQUENCE INCREMENT BY 1000000;

SELECT TABLE_SEQUENCE.NEXTVAL
FROM DUAL;

ALTER SEQUENCE TABLE_SEQUENCE INCREMENT BY 1;








댓글

이 블로그의 인기 게시물

[INTELLIJ] 인텔리제이 폴더 안 보이고 파일만 보이는 버그 해결 방법

[생활] 짝눈(부동시)로 신체검사 4급(공익) 받은 방법.

[스프링부트] @Mapper import 실패시(빨간줄) 해결 방법