이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 9.17. 스포츠 토토 커뮤니티 베트맨 조작 기능버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.12. 시퀀스 조작 기능

이 섹션을 설명합니다postgresql의 작동 함수토토 커뮤니티 개체. 토토 커뮤니티 객체 (또한 토토 커뮤니티 생성기 또는 단지 토토 커뮤니티)는 특별합니다 로 만든 단일 줄 테이블생성 순서. 토토 커뮤니티 객체는 일반적으로 생성하는 데 사용됩니다 테이블 행의 고유 식별자. 토토 커뮤니티 기능, 에 나열됨테이블 9-34, 획득하기위한 간단하고 멀티 우스터-안전 방법을 제공합니다 토토 커뮤니티 객체의 연속 토토 커뮤니티 값.

표 9-34. 토토 커뮤니티 기능

function 반환 유형 설명
Currval(RegClass) bigint 가장 최근에 얻은 반환 값NextVal지정된 토토 커뮤니티의 경우
NextVal(Regclass) bigint 사전 토토 커뮤니티 및 새로운 가치를 반환
setVal(RegClass, bigint) bigint 토토 커뮤니티의 현재 값 설정
setVal(Regclass, bigint, 부울) bigint 토토 커뮤니티의 현재 값을 설정하고is_called플래그

시퀀스 기능 호출에 의해 작동 할 시퀀스는 다음과 같습니다. A에 의해 지정Regclass인수입니다 의 토토 커뮤니티의 OID 만pg_class시스템 카탈로그. 당신은 그럴 필요가 없습니다 그러나 이후로 Oid를 직접 찾아보세요.regclass데이터 유형의 입력 변환기가 작업을 수행합니다 당신을 위한. 단일 따옴표로 둘러싸인 토토 커뮤니티 이름을 작성하고 문자 그대로 상수처럼 보입니다. 일부를 달성하기 위해 평범한 취급과의 호환SQL이름, 문자열이 변환됩니다 서열 주위에 이중 인용문이 포함되지 않는 한 소문자 이름. 따라서

NextVal ( 'foo')토토 커뮤니티에서 작동fooNextVal ( 'foo')토토 커뮤니티에서 작동fooNextVal ( ' "foo"')토토 커뮤니티에서 작동foo

필요한 경우 토토 커뮤니티 이름을 스키마 자격을 사용할 수 있습니다.

NextVal ( 'myschema.foo')운영myschema.fooNextVal ( ' "MySchema".foo')위와 동일NextVal ( 'foo')검색 경로 검색foo

참조섹션 8.12더 많은 에 대한 정보RegClass.

참고 :PostgreSQL8.1, 인수 시퀀스 기능은 유형입니다.텍스트, 아니다RegClass및 위에서 설명한 것 텍스트 문자열에서 OID 값으로 변환하면 각 통화 중에 시간을 달성하십시오. 거꾸로 호환성을 위해서 시설은 여전히 존재하지만 내부적으로는 이제 의 암묵적 강요텍스트toRegclass함수가 있기 전에 호출.

토토 커뮤니티 기능의 인수를 불안정한 문자열, 그것은 유형의 상수가됩니다Regclass. 이것은 정말로 단지 단지이기 때문입니다 OID는 원래 식별 된 토토 커뮤니티에도 불구하고 추적합니다 나중에 변경, 스키마 재 할당 등. this"초기 바인딩"행동이 일반적으로 바람직합니다 열 기본값 및보기에서 시퀀스 참조. 하지만 때때로 당신은 원할 것입니다"늦게 제본"서열 참조가 해결되는 곳 런타임. 늦은 바인딩 행동을 얻으려면 상수를 강요하십시오 A로 저장텍스트대신 상수RegClass:

NextVal ( 'foo':: text)foo런타임을 찾아

늦은 바인딩은 지원되는 유일한 행동이었다.PostgreSQL전에 릴리스 8.1, 따라서 의미론을 보존하기 위해이 작업을 수행해야 할 수도 있습니다. 오래된 응용 프로그램.

물론 시퀀스 함수의 인수는 일정뿐만 아니라 표현. 텍스트 표현식 인 경우 그러면 암시 적 강요는 런타임을 초래합니다 조회.

가용 순서 함수는 다음과 같습니다.

NextVal

시퀀스 객체를 다음 값으로 전진시키고 반환 그 가치. 이것은 원자 적으로 완료됩니다 세션 실행NextVal동시에, 각각은 별개의 토토 커뮤니티를 안전하게받습니다 값.

Currval

가장 최근에 얻은 값을 반환NextVal전류 의이 순서에 대해 세션. (오류가보고 된 경우NextVal이것을 요구 한 적이 없습니다 이 세션의 순서.) 이것이 바로 이에 주목하십시오 세션-로컬 값을 반환하면 예측 가능성이 있습니다 다른 세션이 실행되었는지 여부에 답하십시오NextVal현재 이후 세션은.

LastVal

가장 최근에 반환 된 값을 반환NextVal현재 세션에서. 이것 함수는 동일합니다Currval인수로서의 토토 커뮤니티 이름은 마지막 순서NextVal현재에 사용되었습니다 세션. 전화하는 것은 오류입니다LastValifNextVal는 아직 호출되지 않았습니다 현재 세션.

setVal

토토 커뮤니티 객체의 카운터 값을 재설정합니다. 그만큼 2 개의 파라미터 양식이 토토 커뮤니티를 설정합니다last_value지정된 값에 대한 필드 설정is_calledField totrue, 다음을 의미합니다NextVal값을 반환하기 전에 토토 커뮤니티. 3 파라미터에서 형태,is_called중 하나를 설정할 수 있습니다true또는false. 로 설정된 경우거짓, 다음NextVal지정된 것을 정확하게 반환합니다 가치와 토토 커뮤니티 진보는 수행원NextVal. 을 위한 예,

SELECT SETVAL ( 'foo', 42);다음NextVal43SELECT SETVAL ( 'foo', 42, true);위와 동일SELECT SETVAL ( 'foo', 42, false);다음NextValWill Return 42

결과는setVal는 두 번째 가치입니다 논쟁.

기본 매개 변수로 토토 커뮤니티 객체가 생성 된 경우NextVal전화가 돌아옵니다 1로 시작하는 연속적인 값. 다른 행동은 될 수 있습니다 에서 특수 매개 변수를 사용하여 획득토토 커뮤니티 만들기명령; 그것을보십시오 자세한 내용은 명령 참조 페이지입니다.

중요 :동시의 차단을 피하기 위해 동일한 순서에서 숫자를 얻는 거래, aNextVal운영은 절대 아닙니다 롤백; 즉, 일단 가치가 가져 오면 사용한 트랜잭션이라도 사용 된 것으로 간주됩니다.NextVal나중에 중단. 이것 중단 된 거래가 사용하지 않을 수 있음을 의미"구멍"지정된 값 순서에서.setVal운영은 절대 없습니다 롤백.