본문 바로가기

Database

[ SQL ] 시퀀스 (SEQUENCE) - 자동 증가 값

 

 

시퀀스(Sequence)

: 시퀀스란 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체

 

시퀀스는 우클릭 후 새 시퀀스에서 만들어 줄 수도 있고,  →

쿼리로 만들어 줄 수도 있다. ↓

CREATE SEQUENCE SEQ_TEST 
INCREMENT BY 1 
START WITH 1 
MAXVALUE 10000 
MINVALUE 1;

 

쿼리와 이미지 똑같은 시퀀스를 생성함

 

 

1. 시퀀스 예제 1

SELECT SEQ_TST.NEXTVAL FROM DUAL;

시퀀스 명.NEXTVAL 실행 시 시퀀스 생성/편집 시 주는 증가값만큼 계속 증가됨  

 

2. 시퀀스 예제 2

 SELECT SEQ_TST.CURRVAL FROM DUAL;

시퀀스 명.CURRVAL 실행 시 현재 시퀀스 값을 확인할 수 있다.

 

3. 시퀀스 예제 3

CREATE TABLE SEQ_TEST_TBL
(
    IDX     NUMBER(5)       PRIMARY KEY,
    TXT     VARCHAR2(100)   NOT NULL
);

INSERT INTO SEQ_TEST_TBL VALUES (SEQ_TST.NEXTVAL, '홍길동'); 
INSERT INTO SEQ_TEST_TBL VALUES (SEQ_TST.NEXTVAL, '전우치'); 

SELECT * FROM SEQ_TEST_TBL;

상단 쿼리 실행 시 시퀀스 값이 1이었으므로 2,3 으로 나타남

 

4. 시퀀스 예제 4

DELETE FROM SEQ_TEST_TBL WHERE IDX = '3';

INSERT INTO SEQ_TEST_TBL VALUES (SEQ_TST.NEXTVAL, '전우치'); 

SELECT * FROM SEQ_TEST_TBL;

테이블 데이터 삭제 후 재입력시 시퀀스 값이 3이었으므로 4로 나타남