1. Sequence란
- 기본 키 값을 자동으로 생성할 수 있는 데이터베이스 오브젝트
- create sequence문을 사용하여 여러 사용자가 고유한 정수를 사용할 수 있음.
- 사용자의 커밋과 롤백에 상관없이 시퀀스 증가
2. Sequence 생성 및 사용예제
시퀀스 생성
CREATE SEQUENCE {시퀀스명}
INCREMENT BY {증감숫자}
START WITH {시작숫자}
NOMINVALUE OR MINVALUE {최소값}
NOMAXVALUE OR MAXVALUE {최대값}
NOCYCLE
NOCACHE
시퀀스 사용 예제
1) 생성
CREATE SEQUENCE USER_SEQ
INCREMENT BY 1
START WITH 1
MINVALUE 1
NOMAXVALUE
NOCYCLE
NOCACHE;
2) 조회
SELECT USER_SEQ.CURRVAL FROM DUAL;
3) 사용
INSERT INTO USER(ID, NAME, AGE) VALUES(USER_SEQ.NEXTVAL,'홍길동', '20')
4) 수정
ALTER SEQUENCE USER_SEQ
INCREMENT BY 2
MINVALUE 2
MAXVALUE 999999
CYCLE
NOCASHE;
3. 제어
현재값 확인
SELECT USER_SEQ.CURRVAL FROM DUAL;
다음 증가값
SELECT USER_SEQ.NEXTVAL FROM DUAL;
증가값 변경
ALTER SEQUENCE USER_SEQ INCREMENT BY 3;
참조
https://velog.io/@yooha9621/Oracle%EC%8B%9C%ED%80%80%EC%8A%A4-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC