Database | 오라클 시퀀스(Sequence)

새니·2023년 7월 3일

database

목록 보기
7/8
post-thumbnail

시퀀스(Sequence)

데이터베이스에서 일련번호를 자동으로 생성하기 위해서 사용되는 객체. 주로 고유한 식별자(primary key)값이 필요한 칼럼에 사용된다.



1. 시퀀스 생성(Create Sequence)

시퀀스를 생성하기 위해서는 CREATE SEQUENCE문을 사용한다.

CREATE SEQUENCE sequence_name
  START WITH start_value
  INCREMENT BY increment_value
  MINVALUE min_value
  MAXVALUE max_value
  CYCLE|NOCYCLE;

  • sequence_name : 시퀀스의 이름을 지정합니다.
  • start_value : 시퀀스의 시작값을 지정합니다.
  • increment_value : 시퀀스의 증가값을 지정합니다.
  • min_value : 시퀀스의 최소값을 지정합니다.
  • max_value : 시퀀스의 최대값을 지정합니다.
  • CYCLE | NOCYCLE: 시퀀스가 최대값에 도달했을 때
    • CYCLE로 설정하면 다시 시작값부터 반복됩니다.
    • NOCYCLE로 설정하면 최대값에서 멈춥니다.

2. 시퀀스 사용

시퀀스를 사용하여 컬럼에 일련번호를 자동으로 생성하려면 NEXTVAL 또는 CURRVAL함수를 사용한다. NEXTVAL은 시퀀스의 다음 값을 반환하고, CURRVAL은 시퀀스의 현재 값을 반환한다.


시퀀스를 생성하고 사용함으로써 일련번호를 자동으로 생성할 수 있다.

이를 통해 고유한 식별자 값의 충돌을 방지하고, 데이터의 일관성과 정확성을 유지할 수 있다!


😉코드를 통해 알아보기!

  • SEQUENCE 만들기

    CREATE SEQUENCE 시퀀스명


  • 만든 SEQUENCE 에서 숫자 얻어내기

    시퀀스명.NEXTVAL

  • 시퀀스의 값을 조회하기 위해서 DAUL이라는 가상의 테이블을 통해서 조회한다. (실제 데이터를 저장하지 않았기 때문에 조회 속도가 빠르다)

  • DUAL 을 사용하여 시퀀스의 다음 값을 조회하면, 시퀀스 객체 자체의 상태를 변경하지 않고도 값을 확인할 수 있다.


  • SEQUENCE 삭제하기

    DROP SEQUENCE 시퀀스명

profile
새니의 뒤죽박죽 개발 일기📝

0개의 댓글