이 섹션을 설명합니다PostgreSQL의 작동 함수토토 커뮤니티 개체. 토토 커뮤니티 객체 (또한생성 순서. 토토 커뮤니티 객체는 일반적으로 생성하는 데 사용됩니다테이블 9-34, 획득하기위한 간단하고 다중 수사 안전 방법을 제공합니다 토토 커뮤니티 객체의 연속 토토 커뮤니티 값.
표 9-34. 토토 커뮤니티 기능
기능 | 반환 유형 | 설명 |
---|---|---|
NextVal (regclass) |
bigint | 사전 토토 커뮤니티 및 새로운 가치를 반환 |
currval (regclass) |
bigint | 가장 최근에 얻은 반환 값NextVal 지정된 토토 커뮤니티의 경우 |
LastVal () |
bigint | 가장 최근에 얻은 반환 값NextVal |
setVal (regclass,
bigint) |
bigint | 시퀀스의 현재 값 설정 |
setVal (regclass,
bigint, 부울) |
bigint | 시퀀스의 현재 값을 설정하고is_called플래그 |
시퀀스 기능 호출에 의해 작동 할 순서는 다음과 같습니다. A에 의해 지정regclass인수입니다 의 토토 커뮤니티의 OID 만pg_class시스템 카탈로그. 당신은 그럴 필요가 없습니다regclassData Type의 입력 변환기가 작업을 수행합니다 당신을 위한.SQL이름, 문자열이 변환됩니다 서열 주위에 이중 인용문이 포함되지 않는 한 소문자
NextVal ( 'foo')토토 커뮤니티에서 작동fooNextVal ( 'foo')토토 커뮤니티에서 작동fooNextVal ( ' "foo"')토토 커뮤니티에서 작동foo
필요한 경우 토토 커뮤니티 이름을 스키마 자격으로 사용할 수 있습니다.
NextVal ( 'myschema.foo')운영fooNextVal ( ' "MySchema".foo')위와 동일NextVal ( 'foo')검색 경로 검색foo
참조섹션 8.12더 많은 것 에 대한 정보regclass.
참고 :전PostgreSQL8.1, 인수 시퀀스 기능은 유형입니다.텍스트, 아니다regclass및 위에서 설명한 것 텍스트 문자열에서 OID 값으로 변환하면텍스트toregclass함수가 있기 전에 호출.
시퀀스 기능의 인수를 불안정한 문자열, 그것은 유형의 상수가됩니다regclass. 이것은 정말로 단지 단지이기 때문입니다"초기 바인딩"행동이 일반적으로 바람직합니다 열 기본값 및보기에서 시퀀스 참조."늦게 제본"서열 참조가 해결되는 곳 런타임.텍스트대신 상수regclass:
NextVal ( 'foo':: text)foo런타임을 찾아 보았습니다늦은 바인딩은 지원되는 유일한 행동이었다.PostgreSQL전에 릴리스 8.1, 따라서 의미론을 보존하기 위해이 작업을 수행해야 할 수도 있습니다.
물론 토토 커뮤니티 함수의 인수는 일정뿐만 아니라 표현.
가용 순서 함수는 다음과 같습니다.
NextVal
시퀀스 객체를 다음 값으로 전진시키고 반환 그 가치.NextVal
동시에, 각각은 별개의 토토 커뮤니티를 안전하게받습니다 값.
currval
가장 최근에 얻은 값을 반환NextVal
전류 에서이 토토 커뮤니티의 경우 세션.NextVal
이것을 요구 한 적이 없습니다 이 세션의 순서.) 이것이 바로 이에 주목하십시오NextVal
전류 이후 세션은.
LastVal
가장 최근에 반환 된 값을 반환NextVal
현재 세션에서. 이것currval
인수로서의 토토 커뮤니티 이름은NextVal
현재에 사용되었습니다 세션.LastVal
ifNextVal
는 아직 호출되지 않았습니다 현재 세션.
setVal
토토 커뮤니티 객체의 카운터 값을 재설정합니다. 그만큼last_value지정된 값에 대한 필드 및 설정is_called필드trueNextVal
값을 반환하기 전에 토토 커뮤니티.is_called중 하나를 설정할 수 있습니다true또는거짓. 로 설정된 경우거짓, 다음NextVal
지정된 것을 정확히 반환합니다 가치와 토토 커뮤니티 진보는NextVal
. 을 위한
SELECT SETVAL ( 'foo', 42);다음NextVal
43SELECT SETVAL ( 'foo', 42, true);위와 동일setval ( 'foo', 42, false); 선택다음NextVal
42 복귀합니다.
결과는setVal
는 두 번째의 가치입니다 논쟁.
기본 매개 변수로 토토 커뮤니티 객체가 생성 된 경우NextVal
전화가 돌아올 것입니다 1로 시작하는 연속적인 값. 다른 행동은 될 수 있습니다토토 커뮤니티 만들기명령; 그것을보십시오
중요 :동시의 차단을 피하기 위해 동일한 순서에서 숫자를 얻는 거래, a
NextVal
운영은 절대 아닙니다 롤백;NextVal
나중에 중단. 이것"구멍"지정된 값 순서에서.setVal
운영은 절대 없습니다 롤백.