이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.17. 스포츠 토토 베트맨 조작 기능버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.11. 시퀀스 조작 기능

이 섹션에서는 설명합니다.포스트그레SQL의 작동 기능젠 토토 객체. 젠 토토 객체(또한 젠 토토 생성기 또는 그냥 시퀀스라고 함)는 특별합니다. 로 생성된 단일 행 테이블만들기 순서. 젠 토토 객체는 일반적으로 생성하는 데 사용됩니다. 테이블 행의 고유 식별자입니다. 시퀀스 기능, 에 나열됨테이블 9-34, 간단하고 다중 사용자에게 안전한 가져오기 방법을 제공합니다. 젠 토토 객체의 연속 시퀀스 값입니다.

표 9-34. 젠 토토 함수

기능 반환 유형 설명
다음값(텍스트) 비긴트 전진 젠 토토 및 새 값 반환
곡선(텍스트) 비긴트 가장 최근에 얻은 반환 값다음값
setval(텍스트, 비긴트) bigint 시퀀스의 현재 값 설정
setval(텍스트, bigint, 부울) 비긴트 시퀀스의 현재 값을 설정하고is_called플래그

대부분 역사적인 이유로 인해 작업할 시퀀스는 시퀀스 함수 호출에 의해 텍스트 문자열로 지정됩니다. 논쟁. 처리와 어느 정도 호환성을 확보하려면 보통SQL이름, 젠 토토 함수는 인수를 소문자로 변환하지 않는 한 문자열은 큰따옴표로 묶였습니다. 따라서

nextval('foo')순서대로 작동foonextval('FOO')순차적으로 작동foonextval('"Foo"')순차적으로 작동함

필요한 경우 젠 토토 이름은 스키마로 한정될 수 있습니다.

nextval('myschema.foo')작동myschema.foonextval('"myschema".foo')위와 동일nextval('foo')검색 경로 검색foo

물론 텍스트 인수는 다음의 결과일 수 있습니다. 표현은 단순한 리터럴뿐만 아니라 때때로 유용합니다.

사용 가능한 시퀀스 기능은 다음과 같습니다:

다음값

시퀀스 개체를 다음 값으로 전진시키고 반환합니다. 그 가치. 이는 원자적으로 수행됩니다. 세션이 실행됩니다.다음값동시에 각각은 고유한 젠 토토를 안전하게 수신합니다. 값.

곡선

가장 최근에 얻은 값을 반환합니다.다음값현재 이 시퀀스에 대해 세션. (다음과 같은 경우 오류가 보고됩니다.다음발이것을 위해 호출된 적이 없습니다 이 세션의 순서입니다.) 이것이 세션 로컬 값을 반환하면 예측 가능한 결과를 얻을 수 있습니다. 다른 세션이 실행 중이더라도 응답다음값그동안.

setval

젠 토토 개체의 카운터 값을 재설정합니다. 는 2개의 매개변수 형식은 젠 토토를 설정합니다.마지막_값필드를 지정된 값으로 설정하고 설정합니다is_called필드에서, 즉 다음다음값앞으로 값을 반환하기 전의 순서입니다. 3개 매개변수에서는 양식,is_called둘 중 하나를 설정할 수 있습니다.또는거짓. 으로 설정된 경우거짓, 다음다음값지정된 내용을 정확하게 반환합니다. 가치와 시퀀스 발전은 다음과 같이 시작됩니다. 다음다음값. 에 대한 예

SELECT setval('foo', 42);다음다음값43을 반환합니다SELECT setval('foo', 42, true);위와 동일SELECT setval('foo', 42, false);다음다음발42를 반환합니다

다음에 의해 반환된 결과setval은 단지 두 번째 값입니다 논쟁.

중요:동시 차단을 방지하려면 동일한 젠 토토에서 숫자를 얻는 트랜잭션, a다음값작업은 절대로 이루어지지 않습니다. 롤백됨; 즉, 일단 값을 가져온 후에는 다음과 같은 거래를 수행한 경우에도 사용된 것으로 간주됩니다.다음발나중에 중단됩니다. 이 중단된 트랜잭션이 사용되지 않은 상태로 남을 수 있음을 의미합니다."구멍"할당된 값의 순서대로.setval작업은 절대로 롤백되었습니다.

젠 토토 개체가 기본 매개변수로 생성된 경우,다음값호출하면 반환됩니다 1로 시작하는 연속 값. 다른 동작은 다음과 같습니다. 의 특수 매개변수를 사용하여 얻습니다.젠 토토 생성명령; 보세요 자세한 내용은 명령 참조 페이지를 참조하세요.