티스토리 뷰
디비를 사용 하다 보면 로그등을 남기기 위해 중복되지 않는 숫자가 필요한 경우가 있습니다. 이런 경우 사용 하게 되는 것이 바로 시퀀스(SEQUENCE)입니다. 시퀀스를 사용 하면 별도로 값을 관리 하지 않아도 DB에서 알아서 관리 해 줍니다. 이번 포스팅에서는 이 시퀀스에 대해서 알아보도록 하겠습니다.
* Sequence 구문
CREATE SEQUENCE sequence_name
[START WITH n]
[INCREMENT BY n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE]
* START WITH
시퀀스의 시작 값을 지정합니다. n을 1로 지정하면 1부터 순차적으로 시퀀스번호가 증가 합니다.
* INCREMENT BY
시퀀스의 증가 값을 말합니다. n을 2로 하면 2씩 증가합니다.
START WITH를 1로 하고 INCREMENT BY를 2으로 하면 1, 3, 5,7,..
이렇게 시퀀스 번호가 증가하게 됩니다.
* MAXVALUE n | NOMAXVALUE
MAXVALUE는 시퀀스가 증가할수 있는 최대값을 말합니다.
NOMAXVALUE는 시퀀스의 값을 무한대로 지정합니다.
* MINVALUE n | NOMINVALUE
MINVALUE는 시퀀스의 최소값을 지정 합니다.
기본값은 1이며, NOMINVALUE를 지정할 경우 최소값은 무한대가 됩니다
1.시퀀스 생성
1 | CREATE SEQUENCE 대상컬럼명_SEQ INCREMENT BY 1 START WITH 1; | cs |
2.시퀀스 수정
START WITH 값을 제외하고 ALTER SEQUENCE 명령어로 수정 할 수 있습니다.
1 2 3 4 5 6 7 | -- 시퀀스 수정 Syntax ALTER SEQUENCE sequence_name [INCREMENT BY n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE | NOCACHE] | cs |
3.시퀀스 삭제
DROP SEQUENCE 명령으로 시퀀스를 삭제 할 수 있다.
1 2 3 | -- 대상컬럼명_SEQ 시퀀스를 삭제한다. DROP SEQUENCE 대상컬럼명_SEQ; | cs |
4.사용 방법
데이터를 insert할때 해당 시퀀스 뒤에 nextval을 추가하여 insert를 하면 현재 사용 중인 시퀀스의 다음값을 insert 할 수 있습니다.
1 | INSERT INTO 테이블명 (대상컬럼명, 컬럼명1, 컬럼명2, …) VALUES (대상컬럼명_SEQ.NEXTVAL, 컬럼값1, 컬럼값2, …); | cs |
현재 시퀀스의 다음값을 볼 수 있습니다.
1 | SELECT 시퀸스_이름.NEXTVAL FROM DUAL; | cs |
1 | SELECT 시퀀스_이름.CURRVAL FROM DUAL; | cs |
'IT > DB' 카테고리의 다른 글
[오라클]커스텀 정렬하기 (2) | 2016.11.08 |
---|---|
[오라클]Delete와Truncate 차이점 알아보기 (0) | 2016.11.07 |
[오라클]컬럼 순서 변경하기 (0) | 2016.11.05 |
[오라클]컬럼명으로 테이블 찾기 (0) | 2016.11.04 |
- Looper.prepare()
- 배달 지연
- 다렉
- 19대 선거
- 림의 외경
- GPU 출시
- 테일즈 오브 베르세리아
- 예약메일 전송
- 티스토리 초대장
- 1800X
- 국기 다는 시간
- 1800TI
- 포아너
- 단면폭
- 하이엔드 그래픽카드
- 한글 패치
- 7700K
- 라이젠
- unbound prefix
- GPU 출시가격
- JSON PASER
- 한글패치
- 투표소
- 래디어 구조
- 사제 쿨러
- 오픈베타
- 민주당 대선 후보
- 초대장
- ONLINE JSON
- 블로그 개설
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |