
: 오라클 데이터베이스에서 특정 규칙에 맞는 연속 숫자를 생성하는 객체
시퀀스 생성 : CREATE SEQUENCE
CREATE SEQUENCE 시퀀스명
[INCREMENT BY 증감숫자] -- 번호의 증가 값
[START WITH 시작숫자] -- 번호의 시작 값
[MINVALUE 최솟값 | NOMINVALUE] -- 생성할 번호의 최솟값 지정
[MAXVALUE 최대값 | NOMAXVALUE] -- 생성할 번호의 최댓값 지정
[CYCLE | NOCYCLE] -- 최댓값 도달 시, 시퀀스 생성 여부 지정
[CACHE | NOCACHE]; -- 시퀀스 값을 메모리에 할당 여부 지정
INCREMENT BY 증감숫자 : 증감숫자가 양수면 증가, 음수면 감소 (디폴트는 1)START WITH 시작숫자 : 디폴트값은 증가일때 MINVALUE, 감소일때 MAXVALUEMINVALUE 최솟값 | NOMINVALUEMAXVALUE 최대값 | NOMAXVALUE CYCLE | NOCYCLECACHE | NOCACHE시퀀스명.NEXTVAL 로 추가 INSERT INTO 테이블명 VALUES(시퀀스명.NEXTVAL, ...);시퀀스명.CURRVAL 로 확인SELECT 시퀀스명.CURRVAL FROM DUAL;시퀀스 삭제 : DROP SEQUENCE
DROP SEQUENCE 시퀀스명;
SELECT * FROM USER_SEQUENCES;
-- 예시
CREATE SEQUENCE EX_SEQ --시퀀스이름 EX_SEQ
INCREMENT BY 1 --증감숫자 1
START WITH 1 --시작숫자 1
MINVALUE 1 --최소값 1
MAXVALUE 1000 --최대값 1000
NOCYCLE --순한하지않음
NOCACHE; --메모리에 시퀀스값 미리할당
INSERT INTO MEMBER VALUES(EX_SEQ.NEXTVAL, '홍길동'); -- 1
INSERT INTO MEMBER VALUES(EX_SEQ.NEXTVAL, '이길동'); -- 2
INSERT INTO MEMBER VALUES(EX_SEQ.NEXTVAL, '김길동'); -- 3
INSERT INTO MEMBER VALUES(EX_SEQ.NEXTVAL, '박길동'); -- 4