시퀀스(Sequence)

9mond·2023년 7월 26일
0
post-thumbnail
post-custom-banner

1. 시퀀스란

  • 연속적으로 번호를 만들어 주는 기능
  • 시퀀스란 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체이다. 보통 pk값에 중복값을 방지하기 위해 사용한다.

2. 시퀀스 생성

  • create sequence 시퀀스이름
    increment by n : 증가값을 설정, 2 -> 2씩 증가
    start with n : 시작 값
    maxvalue n : 최대값(nomaxvalue : 최대값 없이 계속 증가)
    minvalue n : 최소값(nominvalue : 최소값이 없음, cycle 옵션일 경우)
    cycle : 시퀀스를 순 사용할지를 설정(nocycle : 순환사용 안함)
    cache n : 시퀀스의 속도를 개선하기 위해 캐싱여부 지정(nocache)
/* 시퀀스 생성 : 제품번호를 생성하는 시퀀스 만들기 */
CREATE SEQUENCE seq_serial_no
increment BY 1
START WITH 100
MAXVALUE 110
MINVALUE 99
CYCLE 
cache 2;

CREATE TABLE goods(
	goods_no		number(3),
	goods_name		varchar2(10)
);

INSERT INTO GOODS g 
VALUES (seq_serial_no.nextval, '제품12');
SELECT * FROM GOODS g ;

-- 현재 시퀀스 값 : currval
SELECT seq_serial_no.currval FROM dual;

-- 시퀀스 삭제
DROP SEQUENCE seq_serial_no;
profile
개발자
post-custom-banner

0개의 댓글