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가 되지 않기 때문에 잘못됐을 경우는 무조건 삭제밖에 없다.
시퀀스 객체는 생성하면 여러테이블에서 사용할 수 있다
'프로그램 > DB' 카테고리의 다른 글
[펌] - Group By절과 Having절 (0) | 2009.03.27 |
---|---|
단일 테이블에 다중 행 입력 방법 (0) | 2009.03.16 |
[TOAD] 토드에서 쿼리문 자동정렬하기 (0) | 2009.02.03 |
[펌] - 오라클 내장함수 - (2) (0) | 2008.09.05 |
[펌] - SQL 자료정리 (0) | 2008.09.05 |