[ 임시 생성 | 온도 ] 순서이름[ 증가 [ BY ]증분]
[ 최소값최소값| 최소값 없음 ] [ 최대값최대값| 최대값 없음 ]
[ 시작 [ 함께 ]시작] [ 캐시캐시] [ [ 아니요 ] 주기 ]
[ 소유자:테이블.열| 없음 ]
롤 토토 생성새 항목을 생성합니다. 시퀀스 번호 생성기. 여기에는 생성 및 이름으로 새로운 특수 단일 행 테이블 초기화이름. 발전기를 소유하게 됩니다. 명령을 실행하는 사용자에 의해.
스키마 이름이 주어지면 시퀀스는 지정된 스키마. 그렇지 않으면 현재 스키마에 생성됩니다. 임시 시퀀스는 특수 스키마에 존재하므로 스키마 이름은 임시 시퀀스를 생성할 때는 지정할 수 없습니다. 순서 이름은 다른 시퀀스, 테이블, 이름과 구별되어야 합니다. 동일한 스키마의 인덱스, 뷰 또는 외부 테이블입니다.
롤 토토가 생성된 후 함수를 사용합니다.다음값, 곡선및setval시퀀스에서 작동합니다. 이것들
함수는 다음 문서에 설명되어 있습니다.섹션 9.15.
시퀀스를 직접 업데이트할 수는 없지만 다음과 같은 쿼리:
SELECT * FROM이름;
시퀀스의 매개변수와 현재 상태를 검사합니다. ~ 안에
특히,마지막_값필드
롤 토토는 모든 세션에서 할당된 마지막 값을 보여줍니다. (의
물론, 이 값은 인쇄될 때 더 이상 사용되지 않을 수 있습니다.
다른 세션이 활발히 진행되고 있습니다.다음발호출.)
지정되면 시퀀스 개체는 다음에 대해서만 생성됩니다. 이 세션이며 세션 종료 시 자동으로 삭제됩니다. 동일한 이름을 가진 기존 영구 시퀀스는 임시 시퀀스 동안 (이 세션에서) 표시됨 스키마 한정으로 참조되지 않는 한 존재합니다. 이름.
시퀀스의 이름(선택적으로 스키마 한정) 생성됩니다.
선택적 조항증분 기준증분지정 현재 시퀀스 값에 추가되는 값은 무엇입니까? 새로운 가치를 창조합니다. 양수 값은 오름차순을 만듭니다. 순서, 음수 순서는 내림차순입니다. 기본값 값은 1입니다.
선택적 조항MINVALUE최소값결정합니다 시퀀스가 생성할 수 있는 최소값입니다. 이 조항의 경우 제공되지 않거나MINVALUE 없음이다 지정하면 기본값이 사용됩니다. 기본값은 1입니다. 그리고 -263-1(오름차순 및 내림차순) 순서입니다.
선택적 조항MAXVALUE최대값결정합니다 시퀀스의 최대값입니다. 이 조항이 아닌 경우 제공되거나MAXVALUE 없음이다 지정하면 기본값이 사용됩니다. 기본값 2입니다63-1 및 -1(오름차순 및 내림차순) 순서입니다.
선택적 조항다음으로 시작시작허용합니다 어디서든 시작할 수 있는 시퀀스입니다. 기본 시작 값은최소값오름차순용 롤 토토 및최대값용 내림차순.
선택적 조항캐시캐시얼마나 많은지 지정합니다. 시퀀스 번호는 미리 할당되어 저장됩니다. 더 빠른 액세스를 위한 메모리. 최소값은 1입니다(하나만 값은 한 번에 생성될 수 있습니다(즉, 캐시 없음). 역시 기본값입니다.
그사이클옵션을 사용하면최대값또는최소값다음 사람이 도달했습니다. 각각 오름차순 또는 내림차순입니다. 한도인 경우 도달하면 생성되는 다음 숫자는최소값또는최대값각각.
만약주기 없음지정됨, 임의
전화를 걸다다음발이후
시퀀스가 최대값에 도달하면 다음을 반환합니다.
오류. 둘 다 아니라면사이클또는주기 없음지정되었습니다.주기 없음기본값입니다.
그소유자옵션으로 인해 특정 테이블 열과 연관되는 시퀀스, 따라서 해당 열(또는 전체 테이블)이 삭제되면 시퀀스도 자동으로 삭제됩니다. 그만큼 지정된 테이블은 동일한 소유자를 가져야 하며 동일한 테이블에 있어야 합니다. 스키마를 시퀀스로 사용합니다.소유자 없음17797_17866
사용드롭 순서제거하려면 순서.
시퀀스는 다음을 기반으로 합니다.bigint산술이므로 범위는 8바이트 범위를 초과할 수 없습니다. 정수(-9223372036854775808~9223372036854775807).
다음과 같은 경우 예상치 못한 결과를 얻을 수 있습니다.캐시1보다 큰 설정은 다음에 사용됩니다.
다수가 동시에 사용할 시퀀스 객체
세션. 각 세션은 연속적으로 할당하고 캐시합니다.
시퀀스 객체에 한 번 액세스하는 동안 시퀀스 값
시퀀스 객체를 늘립니다.마지막_값따라서. 그럼 다음캐시-1 사용다음값해당 세션 내에서 간단히
시퀀스 객체를 건드리지 않고 미리 할당된 값. 그래서, 어떤
할당되었지만 세션 내에서 사용되지 않은 번호는 다음과 같은 경우 손실됩니다.
해당 세션이 종료되어 결과는"구멍"순서대로.
또한 여러 세션이 보장되지만
고유한 롤 토토 값을 할당하면 해당 값이 생성될 수 있습니다.
모든 세션을 고려할 때 순서가 어긋납니다. 을 위한
예를 들어,캐시설정
10, 세션 A는 값 1..10을 예약하고 반환할 수 있습니다.다음값=1이면 세션 B가 값을 예약할 수 있습니다.
11..20 및 복귀다음값=11 이전
세션 A가 생성되었습니다.다음값=2. 따라서,
와 함께캐시하나의 설정입니다
그렇게 가정하는 것이 안전합니다다음값값
순차적으로 생성됩니다. 와 함께캐시1보다 크게 설정해야 합니다.
단지다음값값
모두 구별되지만 순수하게 생성되는 것은 아닙니다.
순차적으로. 또한,마지막_값할 것이다
여부에 관계없이 모든 세션에서 예약된 최신 값을 반영합니다.
아직에 의해 반환되었습니다.다음값.
또 다른 고려사항은 asetval이러한 시퀀스에서는 실행되지 않습니다.
다른 세션이 모두 사용할 때까지 다른 세션에서 알 수 있습니다.
캐시된 사전 할당된 값입니다.
오름차순 롤 토토 생성연재, 101부터 시작:
CREATE SEQUENCE 일련번호 시작 101;
이 순서에서 다음 숫자를 선택하세요:
SELECT nextval('연속');
다음 값
---------
101
이 순서에서 다음 숫자를 선택하세요:
SELECT nextval('연속');
다음 값
---------
102
다음 순서를 사용하세요.삽입명령:
배포자 VALUES에 삽입(nextval('serial'), 'nothing');
a 이후 롤 토토 값 업데이트복사 에서:
시작;
'input_file'에서 배포자를 복사하세요.
SELECT setval('serial', max(id)) FROM 배포자;
끝;