본문으로 바로가기

[Oracle]오라클 시퀀스(생성,사용,조회,수정,삭제)

category DB\SQL 2019. 2. 7. 10:00


시퀀스


-순차적으로 증가하는 값

-유일한 값으로 사용가능

-NUMBER 타입의 컬럼이 PK로 지정될때 시퀀스를 이용할수도 있습니다.

-테이블과는 독립적인 구조



시퀀스 생성

CREATE SEQUENCE seq_name        시퀀스이름
[START WITH start_num]          시퀀스 시작값
[INCREMENT BY increse_num]      시퀀스 증가값
[MAXVALUE max_value]            시퀀스 최대값
[MINVALUE min_value]            시퀀스 최소값
[CYCLE || NOCYCLE]              최대값도달후 다시 최소값부터 시작할건지(사이클여부)

시퀀스의 생성은 위와같이 가능하다 



시퀀스 수정

ALTER SEQUENCE seq_name
[INCREMENT BY increse_num]
[MAXVALUE max_value]
[MINVALUE min_value]
[CYCLE || NOCYCLE]

시퀀스의 수정은 시퀀스의 시작값(START) 를 제외하고 가능하다.



시퀀스 삭제

DROP SEQUENCE seq_name

DROP문을 사용하여 시퀀스를 삭제한다.



시퀀스 조회

SELECT seq_name.CURRVAL FROM DUAL    #해당 시퀀스 조회
SELECT * FROM USER_SEQUENCES         #전체 시퀀스 조회


시퀀스 사용

INSERT INTO TESTTABLE
    NUM,
    NAME,
    JOB
VALUES (
    seq_name.NEXTVAL,
    '코딩벌레',
    '무직' )

시퀀스의 사용은 시퀀스이름.NEXTVAL 을통해 사용 할 수 있다.




(빨간글씨는 사용자가 원하는 값 입력)