dev_eunz

[ORACLE] 시퀀스 마지막 번호 알아내기 ( .CURRVAL 사용X ) 본문

IT/프로그래밍

[ORACLE] 시퀀스 마지막 번호 알아내기 ( .CURRVAL 사용X )

은그램 2020. 9. 6. 00:05
728x90
반응형

회사에서 ORACLE DB를 사용하고 있는데,

'시퀀스'를 생각보다 많이 사용하게 되었다. 잇츠 유용해 😆

 

시퀀스를 생성하는 방법이야 SQL Developer와 같은 툴을 사용해서 편리하게 생성할 수 있지만,

현재 시퀀스의 값이 무엇인지 궁금할 때에는 어떻게 해야할 지 아리송 했던 경험이 있어서 작성하게 되었다.

 

 

'시퀀스이름.CURRVAL'을 사용하라는 사람들도 꽤나 있었지만,

ORA-08002 : '시퀀스이름.CURRVAL'이 세션에서는 정의 되어 있지 않습니다

 

위와 같은 에러를 맞닥뜨리는 경험을 하게 되었다.

 

에러의 원인은

'시퀀스이름.CURRVAL'이 해당 세션(일종의 기록)에 남아있지 않다는 것이었다.

 

'시퀀스이름.NEXTVAL' 을 사용하여 세션을 생성해주어야 사용 가능하다.

하지만, 이렇게 된다면 내가 원하는 정보랑은 다소 다른 정보가 될 수 있어서 다른 방법이 필요했다.

 

 

그래서 찾아낸 방법이 아래와 같다.

SELECT 
        LAST_NUMBER 
FROM 
        USER_SEQUENCES 
WHERE 
        SEQUENCE_NAME = '시퀀스네임';

 

이렇게 사용하면, 해당 시퀀스의 현재 값을 알 수 있게 된다.

필자도 이 방법을 사용하게 되었다. 생각보다 매우 간단하다.!

 

728x90
반응형
Comments