ORACLE에서는 보통 pk값을 주기 위해서 SEQUENCE를 만들어서 사용합니다.


SEQUENCE를 생성하는 방법을 알아보겠습니다.


- 기본 정의


create sequence 시퀀스명
start with 시작 숫자
increment by 증가 숫자
nomaxvalue // 최대값
minvalue 0; // 최소값


- 예시


create sequence sq_board
start with 0
increment by 1
nomaxvalue
minvalue 0;


간단한 설명을 해보면 맨 위에 create sequence라고 선언 후 시퀀스 명을 지정해줍니다.

그다음 start with 뒤에 시작할 숫자를 적어줍니다.

increment 는 증가할 숫자의 크기를 적어줍니다. 2를 적으면 0 2 4 6 이런식으로 증가하겠죠?

nomaxvalue는 최대값이 없다는 얘기입니다. 즉 무한정 데이터가 들어간다는 뜻이죠.

최대값을 지정해주려면 nomaxvalue를 없애고

maxvalue 100;

이렇게 기입하면 됩니다.

마지막으로 minvalue는 최소값을 의미합니다.


*

minvalue와 start with 을 헷갈리시는 분들을 위해서 짤막하게 덧붙여 설명해보겠습니다.


minvalue는 그야말로 최소값입니다. 시퀀스의 가장 작은 값을 의미하죠.

start with은 시퀀스가 시작할 번호를 의미합니다.

예를 들어 minvalue가 0이고 start with이 1이라면,

sq_board.NEXTVAL 을 입력하면 1부터 값이 들어갑니다. 물론 최소값은 0이니까 0의 자리는 비어있게 되는거죠.

이해 가시나요?


이상 sequence 생성에 대해서 알아 보았습니다.


'ORACLE' 카테고리의 다른 글

ORACLE 컬럼 추가, 변경, 삭제  (0) 2016.09.23
ORACLE SEQUENCE 조회와 삭제  (0) 2016.09.23
ORACLE 게시판 리스트 쿼리  (0) 2016.09.23
ORACLE 기본 문법  (0) 2016.09.23

+ Recent posts