본문 바로가기

오라클

오라클 SEQUENCE

-- 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