Sequence ( Autonumber ) 

 

In Oracle, you can create an autonumber field by using sequences. A sequence is an object in Oracle that is used to generate a number sequence. This can be useful when you need to create a unique number to act as a primary key.

 


 

 

  • 순차적으로 증가하는 순번 필드
  • PK값이 중복되지 않도록 할 때 유용함

 

 

[ 문법 ]

 

CREATE SEQUENCE [ 시퀀스 이름 ]

INCREATE BY [ 증가값 ]

START WITH [ 시작값 ]

MAXVALUE [ 최대값 ]  |  NOMAXVALUE

MINVALUE [ 최소값 ]  |  NOMINVALUE

CYCLE  |  NOCYCLE

CACHE  |  NOCACHE

 

 

[ 예시 ]

 

-- 100부터 시작해서 110까지 1씩 증가하며, 99부터 순회하는 시퀀스

CREATE SEQUENCE seq_serial_no
INCREMENT BY 1
START WITH 100
MAXVALUE 110
MINVALUE 99
CYCLE
CACHE 2;

 

최소 99 최대 110

 

[ 활용 ]

 

-- goods 테이블 생성

CREATE TABLE goods(
	good_no number(3),
	good_name varchar2(10)
);

 

 

 

-- 다음 시퀀스 번호로 '제품1' insert ( 처음이니까 100 )

INSERT into goods
VALUES (seq_serial_no.nextval, '제품1');
COMMIT;

 

 

 

-- 현재 시퀀스 번호로 '제품1' insert

INSERT into goods
VALUES (seq_serial_no.currval, '제품1');

 

 

 

-- 다음 시퀀스 번호로 '제품2' insert

INSERT into goods
VALUES (seq_serial_no.nextval, '제품2');

 

 

복사했습니다!