순차적으로 증가, 유일한 값을 생성하기 위한 객체
주로 primary key ( unique + not null ) 를 생성하기 위해 사용
테이블과는 독립적 구조
CREATE SEQUENCE 시퀀스명
[START WITH 시작번호]
[INCREMENT BY 증가값]
[MAXVALUE 최대값]
[MINVALUE 최소값]
[ CYCLE or NOCYCLE ]
[ NOCACHE ]
시퀀스는 캐시 메모리 영역을 갖고있다.
오라클에서 제공하는 기본 테이블로 컬럼이 하나만 존재하고 주로 시퀀스 또는 날짜함수, 산술연산에 사용한다.
sys Admin 계정에서 관리하고 수정 및 삭제 등 조작은 불가하다.
select * from dual;
-- 듀얼 테이블은 간단한 산술 연산할 때 사용하고, 특별한 의미가 없다.
select 2*5 from dual;
create sequence test_seq;
select test_seq.nextval from dual
drop sequence test_seq;
create sequence test_seq start with 7;
select test_seq.nextval from dual;
create table car(
car_no number primary key,
model varchar2(100) not null
)
8-1. car_no primary key의 정보를 sequence를 이용해 발급 받도록한다.
create sequence car_seq;
8-2. 자동차 정보를 생성 insert 한다.
insert into car(car_no, model) values(car_seq.nextval, '소나타');
insert into car(car_no, model) values(car_seq.nextval, 'sm6');
insert into car(car_no, model) values(car_seq.nextval, 'k5');