by 구루비 SEQUENCE 시퀀스 INCREMENT BY NEXTVAL CURRVAL CREATE SEQUENCE DROP SEQUENCE MAXVALUE MINVALUE [2002.01.20]
1 2 3 4 5 6 7 8 | -- 시퀀스 생성 Syntax CREATE SEQUENCE sequence_name [START WITH n] [INCREMENT BY n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE | NOCACHE] |
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] |
empno를 자동 증가하는 시퀀스를 만들어 보자
1 2 3 4 5 6 7 8 9 10 11 | -- 8000부터 시작하는 시퀀스를 생성하자 CREATE SEQUENCE seq_empno START WITH 8000 INCREMENT BY 1 CACHE 20; -- 시퀀스가 정상적으로 생성되었는지 조회해 보자 SELECT seq_empno.NEXTVAL FROM DUAL; SELECT seq_empno.NEXTVAL FROM DUAL; SELECT seq_empno.CURRVAL FROM DUAL; |
시퀀스를 이용해서 데이터를 등록해 보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | -- INSERT 시 시퀀스 사용 INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES (seq_empno.NEXTVAL, 'TIGER' , 'MANAGER' , 7839, SYSDATE, 3000, null , 20); -- SELECT 절에서 시퀀스 사용 CREATE TABLE emp2 AS SELECT seq_empno.NEXTVAL as empno, ename, job, mgr, hiredate, sal, comm, deptno FROM emp; -- 시퀀스가 정상적으로 반영되었는지 조회해 보자 SELECT * FROM emp; |
시퀀스 수정 예이다.
1 2 3 4 5 6 7 8 9 10 11 | -- seq_empno 시퀀스의 증과값과 Cache 사이즈를 변경하는 예이다. ALTER SEQUENCE seq_empno INCREMENT BY 10 CACHE 40; -- 시퀀스가 정상적으로 변경되었는지 조회해 보자 SELECT seq_empno.NEXTVAL FROM DUAL; SELECT seq_empno.NEXTVAL FROM DUAL; SELECT seq_empno.NEXTVAL FROM DUAL; SELECT seq_empno.CURRVAL FROM DUAL; |
DROP SEQUENCE 명령으로 시퀀스를 삭제 할 수 있다.
1 2 | -- seq_empno 시퀀스를 삭제한다. DROP SEQUENCE seq_empno; |
- 강좌 URL : http://www.gurubee.net/lecture/1037
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.