sequence를 하나 생성하였습니다.
이 놈의 현재 seq_no를 알고 싶은데
select 구문으론 받아 올 순 없나요?
oracle과 postgresql 모두 무작정 현재 시퀀스 값을 알 수는 없습니다. 시퀀스 값을 얻으려면 먼저 시퀀스를 1 증가 시켜야 합니다.
seq_my_table이라는 시퀀스가 있다고 할 때에 시퀀스를 1증가 시키는 쿼리는 다음과 같습니다.
postgresql : select nextval('seq_my_table')
oracle : select seq_my_table.nextval from dual
이렇게 하면 일단 1증가한 값이 반환됩니다. 시퀀스에 1을 증가 시키는 방법이 이렇게 명시적으로 하는 방법 외에도 암시적인 방법도 있습니다. 좌우간 어떻게 해서든 시퀀스 값이 1 증가한 상태에서 다시 이 값을 얻고자 할 경우 다음과 같이 합니다.
postgresql : select currval('seq_my_table')
oracle : select seq_my_table.currval from dual
고맙습니다. 제가 오라클처럼 개발자들에게 알려진 디비를 사용하지않아서 문제군요.
postgresql을 쓰시나보군요. postgresql 계시판에서 문의하시면 신속 정확한 고품질의 지원을 받으실 수 있을겁니다. ^^;;