이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 롤 토토 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 순서

이름

CREATE SEQUENCE  --  새 스포츠 토토 결과 정의 발전기

시놉시스

[ 임시 생성 | 온도 ] 순서시퀀스 이름[ 증분증분]
    [ 최소값최소값] [ MAXVALUE최대값]
    [ 시작시작] [ 캐시캐시] [ 주기 ]

입력

임시 또는 임시

지정되면 시퀀스 개체는 다음에 대해서만 생성됩니다. 이 세션은 세션에서 자동으로 삭제됩니다. 종료. 동일한 이름을 가진 기존 영구 시퀀스는 다음과 같습니다. 임시 동안에는 (이 세션에서) 표시되지 않습니다. 참조되지 않는 한 시퀀스가 존재합니다. 스키마로 한정된 이름입니다.

시퀀스 이름

시퀀스의 이름(선택적으로 스키마 한정) 생성됩니다.

증분

증분증분절은 선택 사항. 양수 값은 오름차순을 만듭니다. 순서, 음수 순서는 내림차순입니다. 는 기본값은 1입니다.

최소값

선택적 조항MINVALUE최소값시퀀스가 생성할 수 있는 최소값을 결정합니다. 는 오름차순 및 내림차순의 기본값은 1 및 -2^63-1입니다. 순서입니다.

최대값

선택적 조항MAXVALUE최대값시퀀스의 최대값을 결정합니다. 는 기본값은 오름차순 및 내림차순의 경우 2^63-1 및 -1입니다. 순서입니다.

시작

선택사항시작시작활성화 어디서든 시작할 수 있는 시퀀스입니다. 기본 시작 값은최소값오름차순용 스포츠 토토 결과 및최대값내림차순인 경우.

캐시

캐시캐시옵션 활성화 사전 할당되어 메모리에 저장되는 시퀀스 번호 더 빠른 액세스를 위해. 최소값은 1입니다(하나의 값만 한 번에 생성될 수 있습니다(예: 캐시 없음). 기본값이기도 합니다.

사이클

선택적 CYCLE 키워드를 사용하여 다음을 활성화할 수 있습니다.최대값또는최소값다음 사람이 도달했습니다. 각각 오름차순 또는 내림차순입니다. 만약 한도에 도달하면 생성되는 다음 숫자는최소값또는최대값입니다. 없이 CYCLE, 한도 도달 후다음값호출은 오류를 반환합니다.

출력

만들기 순서

명령이 성공하면 메시지가 반환됩니다.

오류: 관계 '시퀀스 이름' 이미 존재한다

지정된 스포츠 토토 결과가 이미 존재하는 경우.

오류: 정의순서: 최소값(시작)은 할 수 없습니다 = 최대값(최대)

지정된 시작 값이 범위를 벗어난 경우.

오류: 정의순서: 시작 값(시작)는 할 수 없습니다 < MINVALUE ()

지정된 시작 값이 범위를 벗어난 경우.

오류: 정의순서: 최소값()은 할 수 없습니다 = 최대값(최대)

최소값과 최대값이 일관성이 없습니다.

설명

스포츠 토토 결과 생성새 항목을 입력합니다 현재 데이터베이스에 시퀀스 번호 생성기를 추가합니다. 이 새로운 단일 행 테이블을 생성하고 초기화하는 작업이 포함됩니다. 이름시퀀스 이름. 발전기 명령을 실행하는 사용자가 소유하게 됩니다.

스키마 이름이 주어지면 시퀀스는 지정된 스키마. 그렇지 않으면 현재 스키마에 생성됩니다. (검색 경로 앞에 있는 것; 참조)CURRENT_SCHEMA()). TEMP 시퀀스는 특수 스키마이므로 생성 시 스키마 이름이 제공되지 않을 수 있습니다. TEMP 시퀀스. 시퀀스 이름은 이름과 달라야 합니다. 동일한 시퀀스, 테이블, 인덱스 또는 뷰의 다른 시퀀스 스키마.

스포츠 토토 결과가 생성된 후 함수를 사용합니다.다음발, 곡선그리고setval시퀀스에서 작동합니다. 이것들 함수는에 문서화되어 있습니다.사용자의 안내.

시퀀스를 직접 업데이트할 수는 없지만 다음과 같은 쿼리

SELECT * FROM시퀀스 이름;

시퀀스의 매개변수와 현재 상태를 검사합니다. 에서 특히,마지막_값필드의 스포츠 토토 결과는 백엔드 프로세스에 의해 할당된 마지막 값을 보여줍니다. (물론 이 값은 인쇄될 때 더 이상 사용되지 않을 수 있습니다. 다른 프로세스가 활발하게 수행되고 있는 경우다음값전화합니다.)

주의

다음과 같은 경우 예상치 못한 결과를 얻을 수 있습니다.캐시1보다 큰 설정은 동시에 사용될 시퀀스 객체에 사용됩니다. 여러 백엔드로. 각 백엔드는 할당하고 한 번 액세스하는 동안 연속 시퀀스 값을 캐시합니다. 시퀀스 객체를 늘리고 시퀀스 객체의 증가마지막_값따라서. 그런 다음, 다음캐시-1 사용다음값해당 백엔드 내에서 건드리지 않고 미리 할당된 값을 반환하기만 하면 됩니다. 공유 객체. 따라서 할당되었지만 사용되지 않은 숫자는 해당 세션이 종료되면 세션 내 정보가 손실됩니다. 또한 여러 백엔드가 보장되지만 고유한 시퀀스 값을 할당하면 해당 값은 다음과 같을 수 있습니다. 모든 백엔드가 완료되면 순서대로 생성되지 않습니다. 고려. (예를 들어,캐시10으로 설정, 백엔드 A 값 1..10을 예약하고 반환할 수 있습니다.다음값=1이면 백엔드 B가 예약할 수 있음 값 11..20 및 반환다음값19370_19417다음발=2.) 따라서 에캐시하나의 설정 라고 가정하는 것이 안전합니다다음발값이 생성됩니다 순차적으로; 와 함께캐시1보다 큰 설정 오직 다음을 가정해야 합니다.다음값값은 모두 고유하지만, 순전히 순차적으로 생성됩니다. 또한,마지막_값반영됩니다 백엔드에 의해 예약된 최신 값(백엔드 여부에 관계없음) 에 의해 아직 반환되었습니다.다음값. 또 다른 고려 사항은 에setval다음에 실행됨 시퀀스가 완료될 때까지 다른 백엔드에서 이를 알 수 없습니다. 이미 할당된 값을 모두 사용했습니다. 캐시되었습니다.

참고

사용드롭 순서제거하려면 순서.

시퀀스는 다음을 기반으로 합니다.비긴트산술이므로 범위는 범위를 초과할 수 없습니다. 8바이트 정수(-9223372036854775808 ~ 9223372036854775807). 일부 오래된 플랫폼에서는 8바이트 정수에 대한 컴파일러 지원(이 경우) 시퀀스는 일반을 사용합니다.정수산술 (범위 -2147483648 ~ +2147483647).

언제캐시보다 큼 첫째, 각 백엔드는 자체 캐시를 사용하여 사전 할당된 데이터를 저장합니다. 숫자. 캐시되어 있지만 현재 사용되지 않는 번호 세션이 손실되어 다음과 같은 결과가 발생합니다."구멍"순서대로.

사용법

오름차순 스포츠 토토 결과 생성연재, 101부터 시작:

CREATE SEQUENCE 일련번호 시작 101;

이 순서에서 다음 숫자를 선택하세요:

SELECT nextval('연속');

다음 값
-------
    114

INSERT에서 다음 순서를 사용하십시오:

배포자 VALUES에 삽입 (nextval('serial'), 'nothing');

COPY FROM 후 스포츠 토토 결과 값 업데이트:

시작;
    'input_file'에서 배포자를 복사하세요.
    SELECT setval('serial', max(id)) FROM 배포자;
끝;

호환성

SQL92

스포츠 토토 결과 생성포스트그레SQL언어 확장. 없습니다스포츠 토토 결과 생성문의 내용SQL92.