이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 롤 토토 생성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

생성 순서

이름

토토 결과 작성-새로운 토토 결과를 정의하십시오 발전기

시놉시스

생성 [임시 | 온도] 토토 결과이름[증분 [by]증분]
    [MinValueminValue| MinValue 없음] [MaxValuemaxValue| maxValue 없음]
    [시작 [with]시작] [캐시캐시] [[아니오] 사이클]
    [ 소유테이블.| 없음  ]

설명

토토 결과 만들기새로운 것을 만듭니다 시퀀스 번호 생성기. 여기에는 생성 및 포함됩니다 이름으로 새로운 특수 싱글 열 테이블 초기화이름. 발전기가 소유됩니다 사용자가 명령을 발행하여.

스키마 이름이 주어지면 시퀀스가 지정된 스키마. 그렇지 않으면 현재 스키마에서 생성됩니다. 임시 시퀀스는 특수 스키마에 존재하므로 스키마 이름 임시 시퀀스를 만들 때 주어질 수 없습니다. 시퀀스 이름은 다른 시퀀스, 테이블의 이름과 구별되어야합니다. 동일한 스키마에서 인덱스 또는보기

토토 결과가 ​​만들어지면 함수를 사용합니다NextVal, CurrvalsetVal토토 결과에서 작동합니다. 이것들 함수는에 문서화됩니다.섹션 9.15.

토토 결과를 직접 업데이트 할 수는 없지만 쿼리 좋아요 :

선택 * From이름;

토토 결과의 매개 변수와 현재 상태를 검사합니다. ~ 안에 특히,last_value필드 토토 결과는 모든 세션에서 할당 된 마지막 값을 보여줍니다. (의 물론이 값은 인쇄 할 때까지 쓸모 없을 수 있습니다. 다른 세션은 적극적으로 수행 중입니다NextVal전화.)

매개 변수

임시또는temp

지정된 경우 시퀀스 객체는에 대해서만 생성됩니다 이 세션은 세션 종료시 자동으로 삭제됩니다. 이름이 같은 기존 영구 시퀀스는 아닙니다 임시 시퀀스 인 동안 (이 세션에서) 가시 스키마 자격을 참조하지 않는 한 존재합니다 이름.

이름

시퀀스의 이름 (선택적으로 스키마 자격) 만들려면.

증분

선택 사항 조항증분증분지정 현재 순서 값에 추가되는 값 새 값을 만듭니다. 긍정적 인 가치는 상승을 일으킬 것입니다 순서, 음의 하강 토토 결과. 기본값 값은 1입니다.

minvalue
MinValue 없음

선택 사항 조항minvalueMinValue결정 토토 결과가 생성 할 수있는 최소값. 이 조항 인 경우 제공되지 않거나minvalue 없음IS 지정된 다음 기본값이 사용됩니다. 기본값은 1입니다 및 -263-1 오름차순 및 내림차순 각각 토토 결과.

MaxValue
MaxValue 없음

선택 사항 조항maxValuemaxValue결정 시퀀스의 최대 값. 이 조항이 아닌 경우 제공 또는MaxValue 없음is 지정된 다음 기본값이 사용됩니다. 기본값 263-1 및 -1 및 오름차순 및 내림차순 각각 토토 결과.

시작

선택 사항 조항시작시작허용 어디서나 시작하는 시퀀스. 기본 시작 값은입니다.minvalue오름차순 토토 결과 및MaxValuefor 내림차순.

캐시

선택 사항 조항캐시캐시얼마나 많은지를 지정합니다 서열 번호는 preallocated 및 저장되어야한다 더 빠른 액세스를위한 메모리. 최소값은 1입니다 (단 하나입니다 한 번에 값을 생성 할 수 있습니다. 즉, 캐시 없음) 또한 기본입니다.

사이클
사이클 없음

the사이클옵션은 일시 래프 토토 결과MaxValue또는minvalue각각 오름차순 또는 내림차순. 한도 인 경우 도달하면 다음 숫자는입니다.MinValue또는MaxValue각각.

if사이클 없음지정되어 있습니다 전화NextVal이후 토토 결과는 최대 값에 도달했습니다 오류. 둘 다사이클또는사이클 없음지정되어 있습니다.사이클 없음기본값입니다.

소유 테이블.
없음

the소유옵션은 특정 테이블 열과 연관 될 순서, 해당 열 (또는 전체 테이블)이 삭제되면 시퀀스도 자동으로 삭제됩니다. 그만큼 지정된 테이블은 동일한 소유자가 있어야하며 동일해야합니다. 시퀀스로 스키마.소유 없음, 기본값은 그러한 것이 없음을 지정합니다 협회.

노트

use드롭 토토 결과a 순서.

토토 결과 기반bigint산술, 그 범위는 8 바이트 범위를 초과 할 수 없습니다. 정수 (-9223372036854775808 ~ 9223372036854775807). 일부 이전 플랫폼은 컴파일러 지원이 없을 수 있습니다 8 바이트 정수,이 경우 시퀀스는 정기적으로 사용정수산술 (범위 -2147483648 ~ +2147483647).

a이면 예기치 않은 결과를 얻을 수 있습니다.캐시하나보다 큰 설정이 사용됩니다 다중에 의해 동시에 사용될 시퀀스 객체 세션. 각 세션은 연속적으로 할당 및 캐시입니다 시퀀스 객체에 대한 하나의 액세스 동안 시퀀스 값과 시퀀스 객체 증가last_value그에 따라. 그런 다음 다음캐시-1 사용NextVal해당 세션 내에서 간단히 반환합니다 토토 결과 객체에 닿지 ​​않고 Preallocated 값. 그래서, 누구든지 할당되었지만 세션 내에서 사용되지 않은 숫자는 그 세션은 끝나고 결과"구멍"순서로.

또한 여러 세션이 보장되지만 별도의 토토 결과 값을 할당하면 값이 생성 될 수 있습니다 모든 세션이 고려 될 때 순서대로. 을 위한 예, A캐시설정 10, 세션 a는 값 1..10 및 반환을 예약 할 수 있습니다NextVal= 1, 세션 B는 값을 예약 할 수 있습니다 11..20 및 반환NextVal= 11 이전 세션 A가 생성되었습니다NextVal= 2. 따라서, A와 함께캐시하나의 설정입니다 가정하기에 안전NextVal값 순차적으로 생성됩니다. A와 함께캐시당신이해야 할 것보다 더 큰 설정 만 가정합니다.NextVal값 그것들이 순전히 생성된다는 것이 아니라 모두 뚜렷합니다 순차적으로. 또한,last_value의지 모든 세션에서 예약 한 최신 값을 반영합니다. 아직에 의해 반환되었습니다.NextVal.

또 다른 고려 사항은 A입니다.setVal그러한 시퀀스에서 실행되지는 않습니다 다른 세션에 의해 주목 함 그들이 캐시한 preallocated 값.

호출 된 오름차순 토토 결과 생성Serial, 101에서 시작 :

시퀀스 생성 직렬 시작 101;

이 순서에서 다음 번호를 선택하십시오 :

SELECT NEXTVAL ( 'Serial');

 다음 발
-------
     101

이 순서에서 다음 번호를 선택하십시오 :

SELECT NEXTVAL ( 'Serial');

 다음 발
-------
     102

이 순서를 an 사용하십시오.삽입명령 :

유통 업체 값 (NextVal ( 'Serial'), 'Nothing')에 삽입;

A 이후 토토 결과 값을 업데이트합니다복사 에서:

시작;
'input_file'에서 유통 업체를 복사합니다.
유통 업체에서 SetVal ( 'Serial', Max (ID))를 선택하십시오.
끝;

호환성

토토 결과 만들기SQL표준 예외 다음 :

  • 표준as <data type표현이 지원되지 않습니다.

  • 다음 값을 얻는 것은를 사용하여 수행됩니다.nextVal ()대신 함수 표준다음 값표현.

  • the소유자절은 A입니다.PostgreSQL확장.