라벨이 ORACLE인 게시물 표시

[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;