Programing/Spring

Oracle Sequence 시퀀스 사용 조회/생성/수정/삭제

리커니 2016. 1. 28. 19:00
반응형

ibatis 자동 증가값 생성 Oracle 시퀀스사용 일련번호 생성 SEQUENCE 사용법

 

임의값을 증가시켜 일련번호를 생성하는 경우

보통 일련번호의 Max값 +a 를 select 하여 값을 저장 한다.

 

하지만 이런 수고를 거치지 않고 시퀀스 값을 만들어 두면 자동 증가하게 끔 할 수 있다.

 

접근 가능한 SEQUENCE 조회

SELECT *
  FROM ALL_SEQUENCES

 

SEQUENCE 생성

CREATE SEQUENCE seqNo  
       START WITH 1
       INCREMENT BY 1
       MAXVALUE 999999999
       MINVALUE 1

 

seqNo라는 시퀀스를 만드는데

시작은 1 (START WITH)

1씩 증가시키고 (INCREMENT BY)

최대값은 1000000000000 (MAXVALUE)

최소값은 1 (MINVALUE)

로 생성하겠다.

 

이렇게 생성된 시퀀스를 조회 해 보자

 

현재값 조회

SELECT seqNo.CURRVAL FROM DUAL;

 

다음값 조회

SELECT seqNo.NEXTVAL FROM DUAL;

 

Insert 문에 활용

INSERT INTO NOTICE (
    SEQ_NO
  , TITLE
  , CONTENT
) VALUES (
    seqNo.NEXTVAL
  , '제목'
  , '내용'
)

 

SEQ_NO의 MAX값을 조회해 +1 해서 저장하지 않아도

증가된 값을 가져와 저장하게 된다.

 

SEQUENCE 수정

ALTER SEQUENCE seqNo
      START WITH 100
      INCREMENT BY 10;

 

SEQUENCE 삭제

DROP SEQUENCE seqNo;

 

초기화는 지우고 다시 생성하는것이 간단합니다...

 

반응형