뇌운동일지

[Oracle] sequence 본문

DB/Oracle

[Oracle] sequence

purpleduck 2020. 6. 1. 10:05

sequence 

: 연속 ( 자동증가 번호 ) 생성 객체 

※ MySQL에서는 auto_increment 

 

create squence 시퀀스명 

increment by n : n씩 증가 

start with n : n부터 시작 

maxvalue n | nomaxvalue : 최대 n

minvalue n | nominvalue : 최소 n

cycle | nocycle : 순환, 비순환 

cache | nocache : 한번에 여러개의 번호를 생성 ( cache의 default는 20개 ) 

 

주 용도 ) 식별자. 즉, pk로 주로사용 

pk => unique + not null 

연속성(일렬번호)은 pk의 특징이 아님 

 

cache를 사용하면 미리 한꺼번에 만들게되므로 시간이 절약됨 

순환번호는 은행대기표 같은 곳에 쓰인다 

 

☆ 시퀀스명.nextval : 1만큼 증가된 번호 얻기 

☆ 시퀀스명.currval : 현재 가장 큰 번호 

 

from dual => 임의의 테이블로부터 

 

create sequence seq1
increment by 2
start with 1000
maxvalue 10000 ;
select seq1.nextval from dual ;

 

Comments