Frog is cry
Lecture07_Sequence 본문
시퀀스(SEQUENCE) :
> 번호표 붙이기(인덱스) 담당자
> 레코드의 특정 컬럼에 대해 자동으로 인덱스를 부여할 수 있음
> NEXTVAL을 사용하여 다음 인덱스로 넘어감
> 한 번 넘어간 인덱스는 이전 인덱스로 돌아올 수 없음
> 중복 인덱스가 부여되지 않으므로 값의 고유(UNIQUE) 성질을 지킬 수 있음.
시퀀스 생성 :
> CREATE SEQUENCE [시퀀스명] : [옵션1][옵션2] ... ;
Ex)
> CREATE SEQUENCE st_seq START WITH 3 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 20;
시퀀스 옵션 :
> START WITH n : n부터 시작하겠다.
> INCREMENT BY n : n부터 증가시키겠다. (**음수면 감소) - DEFAULT 1
> MAXVALUE n : 최댓값을 n으로 지정
> NOMAXALUE : 최댓값 없음 (무한대로 증가) - DEFAULT
> MINVALUE n : 최솟값을 n으로 지정
> NOMINVALUE : 최솟값 없음(무한대로 감소) - DEFAULT
> CYCLE : 최댓값/최솟값 도달 시 순환하겠다. (다시 최솟값/최댓값부터 시작하겠다.)
> NOCYCLE : 순환하지 않음(도달하면 더 이상 NEXTVAL을 사용할 수 없음) - DEFAULT
> CACHE : 미리 메모리에 생성 해두겠다 - DEFAULT 20
> NOCACHE : 생성해두지 않겠다.
시퀀스 적용 :
> (XPDLQMF INSERT 수행 시 적용할 항목에)
> INSERT INTO [테이블명] VALUES(.., [시퀀스명].NEXTVAL, ...);
Ex)
> INSERT INTO student VALUES (st_seq.NEXTVAL, '이푸린', '010-1111-11111', 1, 89, SYSDATE);
시퀀스 현재 값 조회 :
> SELECT [시퀀스명].CURRVAL FROM DUAL;
> SELECT st_seq.CURRVAL FROM DUAL;
> 단, 한번이라도 테이블 컬럼에 시퀀스 값이 추가 되어야한다.
현재 유저의 모든 시퀀스에 대한 모든 정보 조회
> SELECT * FROM USER_SEQUENCES;
시퀀스 삭제 :
> DROP [시퀀스명];
> DROP st_seq;
Ex)
CREATE SEQUENCE st_seq START WITH 15
INCREMENT BY 1
MAXVALUE 9999
NOCYCLE
NOCACHE;
'JSP > 실습' 카테고리의 다른 글
Lecture09_Connection 연동 (0) | 2020.08.04 |
---|---|
Lecure08_학생 테이블 생성 (0) | 2020.08.03 |
Lecture06_조건,함수,정렬 (0) | 2020.08.03 |
Lecture05_CRUD (0) | 2020.08.03 |
Lecture04_DBA (0) | 2020.08.03 |