DBA

자동 증가 컬럼 - 시퀀스(SEQUENCE) 본문

[2] Database/ORACLE

자동 증가 컬럼 - 시퀀스(SEQUENCE)

코볼 2014. 4. 22. 09:49
728x90
반응형
SMALL

[CREATE SEQUENCE]

CREATE SEQUENCE sequence_name

       [START WITH n]

       [INCREMENT BY n]

       [MAXVALUE n | NOMAXVALUE]

       [MINVALUE n | NOMINVALUE]

       [CYCLE | NOCYCLE]

       [CACHE | NOCACHE]

       [ORDER | NOORDER]

 

- START WITH : 시작 값 (1 부터 n 까지 아무 수나 상관 없음)

- INCREMENT BY : 증가 폭 (1 부터 n 까지 아무 수나 상관 없음)

- MAXVALUE : 증가 할 수 있는 최대 값 (28자리 : 9999999999999999999999999999) [NOMAXVALUE : 무한]

- MINVALUE : 시퀀스 최소 값 [NOMINVALUE : 무한]

- CYCLE : 시퀀스가 최대 값에 도달 하면 다시 최소 값 부터 시작 [NOCYCLE : 최대 값까지 증가하고 에러]

 

* Default는 다 NO로 시작하는 것들 임.

 

 

[ALTER SEQUENCE]

 

ALTER SEQUENCE sequence_name

       [INCREMENT BY n]

       [MAXVALUE n | NOMAXVALUE]

       [MINVALUE n | NOMINVALUE]

       [CYCLE | NOCYCLE]

       [CACHE | NOCACHE]

       [ORDER | NOORDER]

 

* START WITH는 수정 할 수 없음.

 

 

[DROP SEQUENCE]

 

DROP SEQUENCE sequence_name

 

 

 

[사용]

select sequence_name.CURRVAL from dual;

insert into TEST01 values (sequence_name.NEXTVAL, '아무개');

 

 

- CURRVAL : 현재 값을 반환

- NEXTVAL : 현재 시퀀스 값의 다음 값을 반환

 

 

[참고]

http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_6015.htm#SQLRF01314

 

 

 

728x90
반응형
LIST
Comments