CREATE SEQUENCE [시퀀스명]
START WITH [시작숫자]
INCREMENT BY [증가되는 숫자]
MAXVALUE N | NOMAXVALUE
MINVALUE N | NOMINVALUE
CYCLE | NOCYCLE

 

EX.) BOARD 테이블에 board_seq를 만드는 방법

CREATE SEQUENCE board_seq
START WITH 1
INCREMENT 1
MINVALUE 1
MAXVALUE 99999;

==> 1~99999의 범위로 1부터 시작하여 1씩 증가하는 시퀀스

select board_seq.NEXTVAL from dual;
라고 하면 다음 시퀀스 값을 가져오게 된다.

BOARD라는 테이블에 insert 할 때는
INSERT
INTO BOARD(board_num)
values(board_seq.nextval);

이렇게 하면, insert 할때 자동으로 1씩 증가하여 board_num 컬럼에 삽입된다.

 

[시퀀스명].nextval은 현재 시퀀스값에 1을 더한값
[시퀀스명].currval은 현재 시퀀스값


참고로 오라클에서 현재 시퀀스의 값을 알고싶으면..
select seq_board.currval from dual;
 

삭제는
drop sequence board_seq;


시퀀스는 alter나 update가 되지 않기 때문에 잘못됐을 경우는 무조건 삭제밖에 없다.
시퀀스 객체는 생성하면 여러테이블에서 사용할 수 있다

+ Recent posts