생성 [임시 | 온도] 배트맨 토토 [존재하지 않으면]이름[증분 [by]증분]minvalue| MinValue 없음] [MaxValueMaxValue| maxValue 없음]시작] [Cache캐시] [[아니오] 사이클]table_name.column_name| 없음 ]
배트맨 토토 만들기새로운 시퀀스 번호 생성기를 만듭니다. 여기에는 이름으로 새로운 특수 싱글 열 테이블을 작성하고 초기화하는 것이 포함됩니다이름. 생성기는 명령을 발행하는 사용자가 소유합니다.
스키마 이름이 주어지면 지정된 스키마에서 시퀀스가 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다.
배트맨 토토가 만들어지면 함수를 사용합니다NextVal
, currval
및setVal
배트맨 토토에서 작동합니다. 이러한 기능은에 문서화되어 있습니다.섹션 9.16.
시퀀스를 직접 업데이트 할 수는 없지만 다음과 같은 쿼리를 사용할 수 있습니다.
선택 *에서이름;
시퀀스의 매개 변수와 현재 상태를 검사합니다. 특히last_value배트맨 토토의 필드는 모든 세션에서 할당 된 마지막 값을 보여줍니다. (물론 다른 세션이 적극적으로 수행하는 경우이 값은 인쇄 될 때까지 쓸모 없을 수 있습니다.NextVal
전화.)
지정된 경우 시퀀스 객체는이 세션에 대해서만 생성되며 세션 종료시 자동으로 삭제됩니다. 동일한 이름을 가진 기존 영구 시퀀스는 표시되지 않습니다 (이 세션에서) 스키마 자격이없는 이름을 참조하지 않는 한 임시 시퀀스가 존재하지 않습니다.
같은 이름과의 관계가 이미 존재하는 경우 오류를 던지지 마십시오. 이 경우 통지가 발행됩니다.
생성 될 시퀀스의 이름 (선택적으로 스키마 자격).
선택 사항 조항증분증분새 값을 생성하기 위해 현재 순서 값에 추가되는 값을 지정합니다. 양수 값은 오름차순 시퀀스를 만들고, 음의 내림차순 시퀀스를 만듭니다.
선택 사항 조항minvalueminvalue배트맨 토토가 생성 할 수있는 최소값을 결정합니다. 이 조항이 제공되지 않거나MinValue 없음지정된 다음 기본값이 사용됩니다. 기본값은 1과 -2입니다.63-1 각각 오름차순 및 내림차순 배트맨 토토의 경우.
선택 사항 조항maxValueMaxValue배트맨 토토의 최대 값을 결정합니다. 이 조항이 제공되지 않거나maxValue 없음지정된 다음 기본값이 사용됩니다. 기본값은 2입니다.63-1 및 -1은 각각 오름차순 및 내림차순 배트맨 토토에 대해.
선택 사항 조항시작시작시퀀스가 어디서나 시작할 수 있습니다. 기본 시작 값은입니다.minvalue오름차순 배트맨 토토 및MaxValue내림차순
선택 사항 조항캐시캐시더 빠른 액세스를 위해 메모리에 PREALLOCING 및 메모리에 저장 될 시퀀스 번호의 수를 지정합니다. 최소값은 1입니다 (한 번에 하나의 값만 생성 할 수 있습니다. 즉 캐시 없음). 기본값이기도합니다.
the사이클옵션은시 순서가 래핑 할 수 있습니다.MaxValue또는minvalue각각 오름차순 또는 내림차순으로 도달했습니다. 한계에 도달하면 생성 된 다음 숫자는입니다.minvalue또는MaxValue각각.
if사이클 없음지정되어 있습니다.NextVal
배트맨 토토에 도달 한 후 최대 값에 도달하면 오류가 반환됩니다. 둘 다사이클또는사이클 없음지정되어 있습니다.사이클 없음기본값입니다.
the소유자옵션으로 인해 시퀀스가 특정 테이블 열과 연관되어 해당 열 (또는 전체 테이블)이 삭제되면 시퀀스도 자동으로 삭제됩니다. 지정된 테이블에는 동일한 소유자가 있어야하며 시퀀스와 동일한 스키마에 있어야합니다.소유, 기본값은 그러한 연관성이 없음을 지정합니다.
use드롭 배트맨 토토배트맨 토토를 제거하려면
배트맨 토토 기반bigint산술, 따라서 범위는 8 바이트 정수 (-9223372036854775808 ~ 9223372036854775807)의 범위를 초과 할 수 없습니다..
왜냐하면NextVal
andsetVal
통화는 절대 롤백되지 않으며 배트맨 토토 객체를 사용할 수 없습니다."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')을 선택하십시오.
이 순서에서 다음 번호를 선택하십시오 :
NextVal ( 'Serial')을 선택하십시오.
이 배트맨 토토 사용삽입명령 :
유통 업체 값 (NextVal ( 'Serial'), 'Nothing')에 삽입;
A 이후 배트맨 토토 값을 업데이트합니다복사:
시작;