1. 시퀀스(Sequence)
정의 : 시퀀스는 기본 키 값을 자동으로 생성하기 위하여 일련번호를 생성하기 위한 객체이다.
예를 들어 웹게시판에 글이 등록되는 순서대로 번호를 하나씩 할당하는 등의 작업에 사용하면 아주 유용하다.
시퀀스 값은 오라클 내부 루틴에 의해 자동으로 번호가 생성된다.
2. 시퀀스 생성
문법)
CREATE SEQUENCE sequence
[INCREMENT BY n] <== 시퀀스 번호의 증가 값으로 기본값은 1
[START WITH n] <== 시퀀스 시작번호로 기본값은 1
[MAXVALUE n | NOMAXVALUE] <== 생성 가능한 시퀀스 최대값
[MINVALUE n | NOMINVALUE] <== CYCLE일 경우 새로 시작되는 값
[CYCLE | NOCYCLE] <== 시퀀스 번호를 순환 사용할 것인지 지정
[CACHE n | NOCACHE] <== 시퀀스 생성속도를 개선하기 위해 캐싱여부 지정
SQL> CREATE SEQUENCE s_seq
INCREMENT BY 1
START WITH 1
MAXVALUE 100;
3. CURRVAR과 NEXTVAL 함수
CURRVAR : 시퀀스에서 생성된 현재 번호를 확인하는 함수
NEXTVAL : 시퀀스에서 다음 번호를 생성하는 함수
SQL> INSERT INTO student(studno, name, deptno)
VALUES (s_seq.NEXTVAL, '홍길동',101);
4. 시퀀스 삭제
SQL> DROP SEQUENCE s_seq;
'춤추는 프로그래머 > Database.' 카테고리의 다른 글
[오라클] REPLACE 함수 (0) | 2011.08.25 |
---|---|
[오라클] 힌트 사용 정리 (0) | 2011.08.24 |
[오라클] FROM절에서 테이블명 기재 순서 (0) | 2011.08.24 |
[오라클] ROWNUM 활용 (0) | 2011.08.18 |
[오라클] ORA-00937 단일그룹의 그룹함수가 아닙니다. (0) | 2011.08.18 |