usop 2022. 12. 8. 16:58

* 시퀸스의 개요

    - 기본키로 사용할 수 있는 적절한 칼럼이 없거나 다수의 칼럼을 결합해야 식별이 가능한 경우에는 시퀸스를 이용한다.

    - NEXTVAL 함수를 사용

 

 

시퀸스 사용 예시

 

시퀸스 생성

create sequence s_seq
increment by 1
start with 1
maxvalue 2;

 

 

nextval 값을 생성하지 않고 currval 값을 조회하면 오류가 발생한다.

select s_seq.currval from dual;

select s_seq.nextval from dual;

 

nextval 값을 한번 생성하면 currval값은 계속 조회할 수 있다

select s_seq.currval from dual;

 

nextval 값을 생성하면 시퀸스 번호가 자동으로 증가치만큼 증가 또는 감소한다.

 

s_seq 시퀸스 최대값을 100으로 조정해보자

 

alter sequence s_seq maxvalue 100;

 

 

nextval에 의해 기본 키를 생성하여 새로운 데이터를 입력할 수 있다.

insert into student(studno, name, deptno)
values (s_seq.nextval, '홍길동', 101);

 

현재 s_seq 시퀸스의 값을 확인하여 시퀸스로 생성된 기본 값으로 데이터를 받아보자

select s_seq.currval from dual;

현재 시퀸스 값

select studno, name, deptno
from student
where studno=3;

시퀸스 값을 통하여 데이터 받기