| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 토토 베이 3_118 | PostgreSQL : 문서 : 9.3 : 토토 사이트 추천 및 연산자 | 9장. 기능 및 운영자 | 4다른_와이즈 토토와이즈 토토다른 | |
이 섹션에서는 다음 작업에 대한 기능을 설명합니다.스포츠 토토 베트맨 객체, 스포츠 토토 베트맨 생성기라고도 함 아니면 그냥 시퀀스. 스포츠 토토 베트맨 객체는 특별한 단일 행 테이블입니다. 다음으로 생성됨PostgreSQL : 문서. 스포츠 토토 베트맨 객체는 일반적으로 고유 식별자를 생성하는 데 사용됩니다. 테이블 행의 경우. 다음에 나열된 시퀀스 함수표 9-42, 연속적인 정보를 얻기 위한 간단하고 다중 사용자에게 안전한 방법을 제공합니다. 스포츠 토토 베트맨 객체의 시퀀스 값입니다.
표 9-42. 시퀀스 함수
| 기능 | 반환 유형 | 설명 |
|---|---|---|
곡률(regclass) |
비긴트 | 가장 최근에 얻은 반환 값다음값지정된 스포츠 토토 베트맨의 경우 |
마지막 값() |
비긴트 | 가장 최근에 얻은 반환 값다음값모든 스포츠 토토 베트맨에 대해 |
다음값(regclass) |
비긴트 | 전진 스포츠 토토 베트맨 및 새 값 반환 |
setval(regclass, 비긴트) |
bigint | 시퀀스의 현재 값 설정 |
setval(regclass, 비긴트, 부울) |
비긴트 | 시퀀스의 현재 값을 설정하고is_called플래그 |
시퀀스 함수에 의해 작동될 시퀀스는 다음과 같습니다. a로 지정됨regclass인수, 이는 단순히에 있는 스포츠 토토 베트맨의 OID입니다.pg_class시스템 카탈로그. 굳이 보지 않아도 돼 그러나 OID를 직접 작성해야 합니다.regclass데이터 유형의 입력 변환기가 작업을 수행합니다. 당신을 위해. 스포츠 토토 베트맨 이름을 작은따옴표로 묶어서 작성하면 됩니다. 문자 그대로의 상수처럼 보입니다. 와의 호환성을 위해 보통의 취급SQL이름, 문자열은 다음을 포함하지 않는 한 소문자로 변환됩니다. 시퀀스 이름을 큰따옴표로 묶습니다. 따라서:
nextval('foo')순차적으로 작동foonextval('FOO')순서대로 작동foonextval('"Foo"')순차적으로 작동푸
필요한 경우 스포츠 토토 베트맨 이름은 스키마로 한정될 수 있습니다.
nextval('myschema.foo')작동myschema.foonextval('"myschema".foo')위와 동일nextval('foo')검색 경로 검색foo
참조섹션 8.18더 보기 에 대한 정보regclass.
참고:이전PostgreSQL8.1, 시퀀스 함수의 인수 유형은 다음과 같습니다.텍스트아님regclass그리고 위에서 설명한 텍스트 문자열을 OID 값으로 변환 각 호출 중 런타임에 발생합니다. 뒤로 호환성, 이 기능은 여전히 존재하지만 내부적으로는 이제 의 암시적 강제로 처리됨텍스트에regclass함수가 호출되기 전.
시퀀스 함수의 인수를 다음과 같이 작성할 때 장식되지 않은 리터럴 문자열은 유형의 상수가 됩니다.regclass. 이는 실제로 단순한 OID이므로 나중에 이름을 바꾸더라도 원래 식별된 스포츠 토토 베트맨를 추적합니다. 스키마 재할당 등. 이"초기 바인딩"동작은 일반적으로 시퀀스에 바람직합니다. 열 기본값 및 보기의 참조입니다. 하지만 가끔은 그럴 수도 있지 원한다"늦은 바인딩"여기서 시퀀스는 참조는 런타임에 해결됩니다. 지연 바인딩 동작을 얻으려면 상수를 강제로 a로 저장합니다.텍스트대신 상수regclass:
nextval('foo'::text)foo런타임에 조회됩니다.후기 바인딩은 에서 지원되는 유일한 동작입니다.PostgreSQL8.1 이전에 출시되었으므로 이전 의미를 보존하려면 이 작업을 수행해야 할 수도 있습니다. 응용 프로그램.
물론, 시퀀스 함수의 인수는 다음과 같을 수 있습니다. 표현과 상수. 텍스트 표현식인 경우 암시적 강제로 인해 런타임 조회가 발생합니다.
사용 가능한 시퀀스 기능은 다음과 같습니다:
다음값시퀀스 개체를 다음 값으로 전진시키고 이를 반환합니다.
가치. 이는 원자적으로 수행됩니다. 여러 세션이 실행되더라도다음값동시에, 각각은
고유한 스포츠 토토 베트맨 값을 안전하게 수신합니다.
스포츠 토토 베트맨 개체가 기본 매개변수로 생성된 경우,
연속적인다음발호출이 반환됩니다
1로 시작하는 연속 값. 다른 동작을 얻을 수 있습니다.
에서 특수 매개변수를 사용하여스포츠 토토 베트맨 생성명령; 보세요
자세한 내용은 명령 참조 페이지를 참조하세요.
중요:동시 트랜잭션을 차단하지 않으려면 동일한 스포츠 토토 베트맨에서 숫자를 얻습니다. a
다음발작업은 롤백되지 않습니다. 즉, 값을 가져오면 해당 값은 사용된 것으로 간주됩니다. 다음을 수행한 거래다음발나중에 중단됩니다. 이는 중단된 트랜잭션이 떠날 수 있음을 의미합니다. 미사용"구멍"순서대로 할당된 값.
곡선가장 최근에 얻은 값을 반환합니다.다음발현재 세션의 이 시퀀스에 대해.
(다음과 같은 경우 오류가 보고됩니다.다음값있음
이 세션에서는 이 스포츠 토토 베트맨에 대해 호출된 적이 없습니다.) 왜냐하면
세션 로컬 값을 반환하면 예측 가능한 답변을 제공합니다.
다른 세션이 실행되었는지 여부다음값현재 세션이 그랬기 때문입니다.
마지막 값가장 최근에 반환한 값을 반환합니다.다음값현재 세션에서. 이 기능은
와 동일함곡선, 그 외에는
스포츠 토토 베트맨 이름을 인수로 사용하는 대신
에서 사용된 마지막 스포츠 토토 베트맨의 값다음값현재 세션에서. 에 오류입니다
전화마지막 값if다음값현재는 아직 호출되지 않았습니다.
세션.
setval스포츠 토토 베트맨 개체의 카운터 값을 재설정합니다. 2개의 매개변수
양식은 스포츠 토토 베트맨를 설정합니다.마지막_값필드
지정된 값으로 설정하고 해당is_called필드에서참,
다음을 의미합니다.다음값할 것이다
값을 반환하기 전에 스포츠 토토 베트맨를 진행합니다. 보고된 값
으로곡선또한 다음으로 설정되었습니다.
지정된 값. 3개의 매개변수 형식에서,is_called둘 중 하나로 설정할 수 있습니다.참또는거짓. 참2개의 매개변수 형식과 동일한 효과가 있습니다.
으로 설정된 경우거짓, 다음다음값정확히 다음을 반환합니다.
지정된 값과 함께 시퀀스 진행이 시작됩니다.
다음다음값. 더욱이,
보고된 값곡선아님
이 경우 변경되었습니다(8.3 이전 동작에서 변경된 사항입니다). 에 대한
예
SELECT setval('foo', 42);다음다음값43을 반환합니다SELECT setval('foo', 42, true);위와 동일SELECT setval('foo', 42, false);다음다음값42를 반환합니다
다음이 반환한 결과setval입니다
단지 두 번째 인수의 값입니다.
중요:시퀀스는 트랜잭션이 아니기 때문에, 다음에 의해 변경됨
setval실행 취소되지 않았습니다. 트랜잭션이 롤백되는 경우.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| JSON 함수 및 운영자 | 위로 | 조건부 표현식 |