3
NEXTVAL
번 호출하여 반환 값을 여러 번 사용하고 싶습니다. 그러나 그것은 작동하지 않습니다.PostgreSQL nextval 및 currval이 동일한 쿼리
SELECT NEXTVAL('seq_name'), NEXTVAL('seq_name');
위 (11) (12) (I 다시도 11 및도 11을 원)을 수득한다 :
는seq_name
지금 10 인 시퀀스 (
질의하지 나열된 순서에서 독립적으로 수행된다)을 가정한다.
SELECT NEXTVAL('seq_name'), CURRVAL('seq_name');
SELECT NEXTVAL('seq_name'), LASTVAL();
위는 11, 10 또는이 NEXTVAL
가 현재 세션에서 호출 적이 없다는 오류를 줄 줄 것이다. [나는 오류가 발생하는 이유 : 알]
재사용 (이 경우 11) 같은 증가 값을 얻을 수있는 동일한 SQL 문에 NEXTVAL
및 CURRVAL
를 사용하는 방법이 있나요? 또는이 문제에 대한 간단한 해결책?
의 삽입하려면()'구축? 그러한 삽입 문에 필요하기 때문에보다 일반적인 해결책이 적절할 것입니다. 귀하의 솔루션은 SELECT 문에 너무 한정적입니다. – ADTC
업데이트 된 답변보기 – peterm
감사합니다. 좋은 답변입니다.하지만 정말로 _really_ *** 정말로 *** INSERT VALUES 구문을 고수해야합니까? : D – ADTC