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

토토 커뮤니티 만들기

토토 커뮤니티 작성 - 새 토토 커뮤니티 생성기 정의

시놉시스

생성 [temporary | 온도 | 무도명] 토토 커뮤니티 [존재하지 않으면]이름[asdata_type]
    [증분 [by]증분]
    [MinValueminvalue| MinValue 없음] [MaxValuemaxValue| maxValue 없음]
    [[아니오] 사이클]
    [시작 [with]시작]
    [캐시캐시]
    [ 소유table_name.column_name| 없음  ]

설명

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

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

토토 커뮤니티가 만들어지면 함수를 사용합니다NextVal, CurrvalsetVal토토 커뮤니티에서 작동합니다. 이러한 기능은에 문서화되어 있습니다.PostgreSQL : 문서 : 18 : 9.17. 와이즈 토토 조작 기능.

시퀀스를 직접 업데이트 할 수는 없지만 다음과 같은 쿼리를 사용할 수 있습니다.

선택 *에서이름;

시퀀스의 매개 변수 및 현재 상태를 검사합니다. 특히last_value토토 커뮤니티의 필드는 모든 세션에 의해 할당 된 마지막 값을 보여준다. (물론 다른 세션이 적극적으로 수행하는 경우이 값은 인쇄 될 때까지 쓸모 없을 수 있습니다.NextVal전화.)

매개 변수

임시또는temp

지정된 경우 시퀀스 객체는이 세션에 대해서만 생성되며 세션 종료시 자동으로 삭제됩니다. 동일한 이름을 가진 기존 영구 시퀀스는 표시되지 않습니다 (이 세션에서) 스키마 자격이없는 이름을 참조하지 않는 한 임시 시퀀스가 존재하지 않습니다.

미등록

지정된 경우 시퀀스는 예정되지 않은 시퀀스로 생성됩니다. 미등록 시퀀스의 변경은 쓰기 로그로 기록되지 않습니다. 이들은 충돌 안전이 아닙니다. 무제한 시퀀스는 충돌 또는 부정한 종료 후 초기 상태로 자동 재설정됩니다. 무제한 시퀀스도 대기 서버로 복제되지 않습니다.

무제한 테이블과 달리, 신원화되지 않은 시퀀스는 상당한 성능 이점을 제공하지 않습니다. 이 옵션은 주로 식별 열 또는 직렬 열을 통한 미등성 테이블과 관련된 시퀀스를위한 것입니다. 이 경우 일반적으로 시퀀스가 월 로그 및 복제되었지만 관련 테이블이없는 것은 의미가 없습니다.

존재하지 않으면

같은 이름과의 관계가 이미 존재하는 경우 오류를 던지지 마십시오. 이 경우 통지가 발행됩니다. 기존 관계가 생성 된 시퀀스와 같은 것이라는 보장은 없습니다. 시퀀스도 아닐 수도 있습니다.

이름

생성 될 시퀀스의 이름 (선택적으로 스키마 자격).

data_type

선택 사항 조항asdata_type토토 커뮤니티의 데이터 유형을 지정합니다. 유효한 유형은smallint, Integerbigint. bigint기본값입니다. 데이터 유형은 토토 커뮤니티의 기본 최소 및 최대 값을 결정합니다.

증분

선택 사항 조항증분증분새 값을 생성하기 위해 현재 시퀀스 값에 추가되는 값을 지정합니다. 양수 값은 오름차순 시퀀스를 만들고, 음의 내림차순 시퀀스를 만듭니다. 기본값은 1입니다.

MinValue
MinValue 없음

선택 사항 조항minvalueMinValue토토 커뮤니티가 생성 할 수있는 최소값을 결정합니다. 이 조항이 제공되지 않거나MinValue 없음지정된 다음 기본값이 사용됩니다. 오름차순 시퀀스의 기본값은 1입니다. 하강 시퀀스의 기본값은 데이터 유형의 최소값입니다.

MaxValue
MaxValue 없음

선택 사항 조항maxValuemaxValue토토 커뮤니티의 최대 값을 결정합니다. 이 조항이 제공되지 않거나MaxValue 없음지정된 다음 기본값이 사용됩니다. 오름차순 시퀀스의 기본값은 데이터 유형의 최대 값입니다. 하강 시퀀스의 기본값은 -1입니다.

사이클
사이클 없음

the사이클옵션은시 순서가 래핑 할 수 있습니다.MaxValue또는minvalue각각 상승 또는 하강 시퀀스에 의해 도달했습니다. 한계에 도달하면 생성 된 다음 숫자는입니다.MinValue또는MaxValue각각.

if사이클 없음지정되어 있습니다.NextVal토토 커뮤니티에 도달 한 후 최대 값에 도달하면 오류가 반환됩니다. 둘 다사이클또는사이클 없음지정되어 있습니다.사이클 없음기본값입니다.

시작

선택 사항 조항시작시작시퀀스가 어디서나 시작할 수 있습니다. 기본 시작 값은입니다.minvalue오름차순 토토 커뮤니티 및MaxValue내림차순

캐시

선택 사항 조항캐시캐시더 빠른 액세스를 위해 메모리에 구부러지고 메모리에 저장 될 시퀀스 번호의 수를 지정합니다. 최소값은 1입니다 (한 번에 하나의 값만 생성 할 수 있습니다. 즉 캐시 없음). 기본값이기도합니다.

소유자 table_name.column_name
없음

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

노트

use드롭 토토 커뮤니티토토 커뮤니티를 제거하려면

토토 커뮤니티 기반bigint산술, 따라서 범위는 8 바이트 정수 (-9223372036854775808 ~ 9223372036854775807)의 범위를 초과 할 수 없습니다..

왜냐하면NextValandsetVal통화는 절대 롤백되지 않으며 토토 커뮤니티 객체를 사용할 수 없습니다.Gapless토토 커뮤니티 번호의 할당이 필요합니다. 카운터가 포함 된 테이블의 독점 잠금을 사용하여 갭리스 할당을 구축 할 수 있습니다. 그러나이 솔루션은 토토 커뮤니티 객체보다 훨씬 비싸다. 특히 많은 트랜잭션이 동시에 토토 커뮤니티 숫자를 필요로하는 경우.

a이면 예기치 않은 결과를 얻을 수 있습니다.캐시하나보다 큰 설정은 여러 세션에서 동시에 사용될 시퀀스 객체에 사용됩니다. 각 세션은 시퀀스 객체에 대한 하나의 액세스 동안 연속 시퀀스 값을 할당하고 캐시하고 시퀀스 객체의를 증가시킵니다.last_value그에 따라. 그런 다음 다음캐시-1 사용NextVal해당 세션 내에서 토토 커뮤니티 객체에 닿지 않고 Preallocated 값을 반환합니다. 따라서 세션 내에 할당되었지만 사용되지 않은 숫자는 해당 세션이 종료되면 손실되므로순서로.

또한 여러 세션이 별개의 토토 커뮤니티 값을 할당하도록 보장되지만 모든 세션이 고려 될 때 값이 토토 커뮤니티에서 생성 될 수 있습니다. 예를 들어,캐시10의 설정, 세션 a 값 1..10 및 returnNextVal= 1, 세션 B는 값 11..20 및 return을 예약 할 수 있습니다NextVal= 11 세션 a가 생성되기 전NextVal= 2. 따라서캐시하나의 설정NextVal값은 순차적으로 생성됩니다. A와 함께캐시하나보다 큰 설정NextVal값은 모두 순전히 순차적으로 생성되는 것이 아니라 값이 다릅니다. 또한,last_value아직 세션이 예약 한 최신 값을 반영합니다.NextVal.

또 다른 고려 사항은 A입니다.setVal그러한 시퀀스에서 실행 된 다른 세션에서 실행 된 다른 세션은 그들이 캐시 한 preallocated 값을 사용하기 전까지는 눈치 채지 못할 것입니다..

호출 된 오름차순 토토 커뮤니티 생성Serial, 101에서 시작합니다 :

시퀀스 생성 직렬 시작 101;

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

NextVal ( 'Serial')을 선택하십시오.

 다음 발
-------
     101

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

SELECT NEXTVAL ( 'Serial');

 다음 발
-------
     102

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

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

A 이후 토토 커뮤니티 값을 업데이트합니다복사:

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

호환성

토토 커뮤니티 만들기SQL표준, 다음 예외와 함께 :

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

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