본문 바로가기

데이터베이스/Oracle

Sequence의 이해 및 활용

간단히 말해서 한 table의 primary key를 지정해주기 위해 시퀀스를 만들어줄 때 사용한다.


이때 한 가지 알아둘 것이 시퀀스의 currval 과 nextval 이다.
시퀀스를 생성한 후 한번 nextval을 해주지 않으면 currval을 호출해도 값이 나오지 않고 에러가 발생한다.
왜냐하면 자기 세션에 시퀀스 정보가 없기 때문이다.
서버에서 받아오는 건 nextval이고 currval은 자신의 메모리에 올라온 것만 보여주게 된다.
그래서 nextval을 해서 서버에서 시퀀스 값을 먼저 가져와야 currval을 호출하여 현재 시퀀스 값을 받아올 수 있다.


출처 : http://www.gurubee.net/lecture/1037