DDL
-
[Oracle] 시퀀스의 현재값 변경하기개발/Database 2019. 5. 8. 22:17
운영 서버에 있던 DB 오브젝트들을 개발 서버에 옮겨서 테스트하던 중 에러가 났다. 에러 로그를 보니 대체 왜 이렇게 된건지 정확히 파악은 안되지만 시퀀스의 현재 값이 실제 데이터의 Max 값보다 한참 작은 상태라 인서트 쿼리를 실행하면 중복 값이 들어가면서 에러가 나는 상황..... 무식하게 계속 .nextval 로 맞춰주기엔 값이 좀 많이 차이나서 부득이하게 머리를 써서 시퀀스의 현재값을 변경해줘야 했다. 가장 편리한건 역시 그냥 시퀀스 자체를 드롭한 후에 실제 데이터에 맞춰서 다시 생성해주는 것이겠지만 이미 운영 중인 서비스라면 그냥 드롭시키기 무서울 수도 있기에..... 아래처럼 약간의 꼼수(?)를 써서 바꿔주면 해결 1 2 3 4 5 6 7 8 9 --예) 현재 시퀀스값은 20인데 데이터값을 9..