수색…


통사론

  • SEQUENCE SCHEMA.SEQUENCE {INCREMENT BY INTEGER | INTEGER로 시작 | MAXVALUE INTEGER | NOMAXVALUE INTEGER | MINVALUE INTEGER | 명목 정수 | 주기 정수 | NOCYCLE INTEGER | 캐시 | NOCACHE | 주문 | NOODER}

매개 변수

매개 변수 세부
개요 스키마 이름
~에 의해 증분하다 숫자 사이의 간격
~으로 시작하다 첫 번째 번호 필요
최대 값 시퀀스의 최대 값
노마 엑 가치 최대 값 기본값
최소값 시퀀스의 최소값
nominvalue 최소값이 기본값입니다.
주기 이 값에 도달하면 시작으로 재설정
비순환 태만
은닉처 사전 할당 한도
노치 태만
주문 숫자의 순서 보장
노다 태만

시퀀스 만들기 : 예

목적

CREATE SEQUENCE 문을 사용하여 여러 사용자가 고유 한 정수를 생성 할 수있는 데이터베이스 개체 인 시퀀스를 만듭니다. 시퀀스를 사용하여 기본 키 값을 자동으로 생성 할 수 있습니다.

시퀀스 번호가 생성되면 커밋 또는 롤백 트랜잭션과 관계없이 시퀀스가 ​​증가합니다. 두 사용자가 동일한 순서를 동시에 증가 시키면 순차 번호가 다른 사용자에 의해 생성되기 때문에 각 사용자가 획득하는 순차 번호에는 간격이있을 수 있습니다. 한 사용자는 다른 사용자가 생성 한 일련 번호를 절대 획득 할 수 없습니다. 한 사용자가 시퀀스 값을 생성 한 후에는 해당 사용자가 시퀀스가 ​​다른 사용자에 의해 증가되었는지 여부에 관계없이 해당 값에 계속 액세스 할 수 있습니다.

시퀀스 번호는 테이블과 독립적으로 생성되므로 하나 또는 여러 테이블에 대해 동일한 시퀀스를 사용할 수 있습니다. 개별 순서 번호는 최종적으로 롤백 된 트랜잭션에서 생성되어 사용 되었기 때문에 생략 될 수 있습니다. 또한 한 사용자가 다른 사용자가 동일한 순서로 그리는 것을 인식하지 못할 수도 있습니다.

시 v 스가 작성된 후,시 v 스의 현재 값을 리턴하는 CURRVAL 의사 콜럼 또는시 v 스를 증가시키고 새 값을 리턴하는 NEXTVAL 의사 콜럼을 사용하여 SQL.에서 해당 값에 액세스 할 수 있습니다.

선결 요건

사용자 자신의 스키마에 순서를 작성하려면 CREATE SEQUENCE 시스템 권한이 있어야합니다.

다른 사용자의 스키마에 순서를 작성하려면 CREATE ANY SEQUENCE 시스템 권한이 있어야합니다.

순서 작성 : 예 다음 명령문은 oe 샘플 스키마에 customers_seq 시퀀스를 작성합니다. 이 시퀀스는 행이 customers 테이블에 추가 될 때 고객 ID 번호를 제공하는 데 사용될 수 있습니다.

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

customers_seq.nextval에 대한 첫 번째 참조는 1000을 반환하고 두 번째 참조는 1001을 반환합니다. 이후의 각 참조는 이전 참조보다 큰 값 1을 반환합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow