-- SEQUENCE
특정컬럼에 대해 유일한 값을 연속적으로 생성하기 위해 사용하는 방법
다음 시쿼스 값 : 시퀀스이름.NEXTVAL;
현재 시쿼스 값 : 시쿼스이름.CURRVAL;
CREATE TABLE testc(
num1 NUMBER
,num2 NUMBER
,num3 NUMBER
);
-- 1부터 증가하는 간단한 시퀀스 만들기
CREATE SEQUENCE seq1;
INSERT INTO testc (num1,num2, num3) VALUES (seq1.NEXTVAL, seq1.NEXTVAL, seq1.CURRVAL);
COMMIT;
SELECT * FROM testc;
-- 100부터 1씩 증가
CREATE SEQUENCE seq2
INCREMENT BY 2 -- 증분
START WITH 100 -- 초기값
MINVALUE 1
MAXVALUE 200
CYCLE;
INSERT INTO testc (num1,num2, num3) VALUES (seq2.NEXTVAL, seq2.NEXTVAL, seq2.CURRVAL);
SELECT * FROM testc;
SELECT seq2.CURRVAL FROM DUAL;
--시퀀스가 1씩 증가되지 않고 이상하게 증가되는 경우 아래와 같이 작성
CREATE SEQUENCE seq3
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE;
--시쿼스의 다음 값 확인하기
SELECT seq3.NEXTVAL FROM DUAL;
-- 시퀀스 목록 확인
SELECT * FROM seq;
-- 시퀀스 삭제
DROP SEQUENCE seq1;
DROP SEQUENCE seq2;
DROP SEQUENCE seq3;
'오라클' 카테고리의 다른 글
트리거(TRIGGER) (0) | 2013.06.06 |
---|---|
Stored Function(사용자 함수) - 펑션 (0) | 2013.06.06 |
머트리얼라이즈뷰 (0) | 2013.06.06 |
오라클 VIEW 뷰 (0) | 2013.06.06 |
상관하위부 질의 (0) | 2013.06.06 |