Oracle Sequence

Yeeun_Kim·2024년 10월 23일
1

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 --증갑숫자 1
    START WITH 1 --시작숫자 1
    MINVALUE 1 --최소값 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

0개의 댓글