< 시퀀스 (SEQUENCE) >
- 자동으로 번호를 발생시켜주는 역할을 하는 객체
- 정수값을 순차적으로 자동 생성
[ 생성 ]
CREATE SEQUENCE 시퀀스명
START WITH 시작숫자 - 처음 발생시킬 시작값 지정 (생략가능)
INCREMENT BY 증가 값 - 얼마씩 증가시킬지 지정 (생략가능)
MAXVALUE 최댓값 - 발생시킬 최댓값 지정 (생략가능)
MINVALUE 최솟값 - 발생시킬 최솟값 지정 (생략가능)
CYCLE / NOCYCLE - 값 순환 여부 / 순환 시 최솟값부터 시작 (생략가능)
CACHE* 바이트크기 / NOCACHE - 캐시 사용 여부
* SEQUENCE CACHE MEMORY
- 미리 발생할 값들을 생성해서 저장해 두는 공간
- 호출할 때 매번 새로 번호를 생성하는 것이 비효율적
=> 캐시 공간에 미리 생성된 값을 가져다 쓰게 해 속도를 높일 수 있음
[ 사용 ]
시퀀스명.CURRVAL | - 현재 시퀀스 값 - 마지막으로 성공적으로 발생된 NEXTVAL값 - 생성한 값이 하나라도 있어야 시작 가능 |
시퀀스명.NEXTVAL | - 시퀀스값을 증가시키고, 증가된 시퀀스값 - 기존의 시퀀스값에서 INCREMENT BY 값만큼 증가된 값 - (= 시퀀스.CURRVAL + INCREMENT BY 값) |
[ 변경 ]
ALTER SEQUENCE 시퀀스명
변경할 값
...;
* START WITH 으로 지정한 시작값 변경 불가!
'개발 > SQL' 카테고리의 다른 글
[SQL] postgreSQL 설치 및 설정 / pgAdmin 4 (0) | 2023.05.06 |
---|---|
[SQL] Oracle - MERGE (+ MyBatis에서 동적으로 사용) (1) | 2023.03.16 |
[SQL] Oracle - VIEW (0) | 2022.10.05 |
[SQL] Oracle - (TCL) 트랜잭션(TRANSACTION) / COMMIT / ROLLBACK / SAVEPOINT (0) | 2022.10.04 |
[SQL] Oracle - (DCL) GRANT / REVOKE (0) | 2022.10.04 |