> 안녕하십니까?
>
> 오라클로 게시판을 구성하고 있는 중에 다음과 같은 에러를....
> (오라클 8.1.5 + PHP + APACHE)
>
> 1) create sequence topic_num start with 0 increment by 1;
> 을 한 후에
>
> 2) select topic_num.currval from dual;
> 를 하면
> ORA-08002 : sequence TOPIC_NUM.CURRVAL is not yet definec in this s
> ession
> 이라고 하는데
>
> 3) select topic_num.nextval from dual;를 하고 나면 위와 같은 메세지는
>
> 안 나타나고 값을 얻을 수 있기는 한데 값이 증가 되어서요
>
> 즉 처음 오라클을 logon 하고 나면 반드시 2번을 한 후에 3번을 해야
> 값을 얻을 수 있는데 그 때마다 값이 증가 되어서 고생하고 있습니다.
>
> 2번을 안하고 3번만 해도 값이 나오는 방법이 있을 까요?
이것은 oracle session에 대한 이해가 필요한 내용입니다.
session이란 제가 이해하는 바로는 접속한 다음 접속을 종료하기까지의
일련의 작업을 얘기합니다.
(commit, rollback이 session의 단절을 가져오는지는 정확히 모르겠습니다.)
간단히 말하면 sequence.currval은 각 session에서만 존재하는 임시값입니다.
즉, sequence.nextval로 새 sequence를 얻은 session에서만 존재하는 것으로 알고 있습니다.
(저는 이렇게 이해하고 있습니다.)
tolkien입니다.
|