[sql] SQL에서 시퀀스(Sequence) 객체를 생성하고 사용하는 방법은 어떻게 되나요?
- 시퀀스 객체 생성
CREATE SEQUENCE sequence_name START WITH start_value INCREMENT BY increment_value MINVALUE min_value MAXVALUE max_value CYCLE/NOCYCLE CACHE cache_value;
sequence_name
: 시퀀스 객체의 이름을 지정합니다.start_value
: 시퀀스의 시작값을 지정합니다.increment_value
: 시퀀스의 증가값을 지정합니다.min_value
: 시퀀스의 최소값을 지정합니다.max_value
: 시퀀스의 최대값을 지정합니다.CYCLE/NOCYCLE
: 시퀀스가 최소값 또는 최대값에 도달했을 때 CYCLE 옵션을 사용하면 다시 시작값으로 돌아가고, NOCYCLE 옵션을 사용하면 에러를 발생시킵니다.cache_value
: 시퀀스의 캐시 크기를 지정합니다.
- 시퀀스 사용
- 다음 시퀀스 값을 얻기 위해
NEXTVAL
을 사용합니다.SELECT sequence_name.NEXTVAL FROM dual;
- 시퀀스의 현재 값을 확인하기 위해
CURRVAL
을 사용합니다.SELECT sequence_name.CURRVAL FROM dual;
- 다음 시퀀스 값을 얻기 위해
- 시퀀스 초기화
- 시퀀스를 초기화하기 위해
ALTER SEQUENCE
문을 사용합니다.ALTER SEQUENCE sequence_name RESET BY reset_value;
reset_value
에는 초기화할 값이 들어갑니다.
- 시퀀스를 초기화하기 위해
더 자세한 내용은 다음 참고 자료를 확인하시기 바랍니다.
- Oracle 공식 문서: https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-SEQUENCE.html#GUID-2D041100-E08C-41A7-8B6A-F94A6DF4A969