간단히 말해서 한 table의 primary key를 지정해주기 위해 시퀀스를 만들어줄 때 사용한다.
이때 한 가지 알아둘 것이 시퀀스의 currval 과 nextval 이다.
시퀀스를 생성한 후 한번 nextval을 해주지 않으면 currval을 호출해도 값이 나오지 않고 에러가 발생한다.
왜냐하면 자기 세션에 시퀀스 정보가 없기 때문이다.
서버에서 받아오는 건 nextval이고 currval은 자신의 메모리에 올라온 것만 보여주게 된다.
그래서 nextval을 해서 서버에서 시퀀스 값을 먼저 가져와야 currval을 호출하여 현재 시퀀스 값을 받아올 수 있다.
'데이터베이스 > Oracle' 카테고리의 다른 글
게시판 페이징 처리 (oracle DB) (6) | 2016.03.04 |
---|---|
rownum, rowid (0) | 2016.03.04 |
IN과 NOT IN의 함정 (4) | 2016.03.04 |
외부 sql파일 실행시키기 (0) | 2016.03.02 |
다른 DB 서버의 테이블에 있는 데이터를 우리 DB 서버로 가져오기 (0) | 2016.03.02 |