DATABASE/이론

[DB] 시퀀스 ( SEQUENCE ) - 생성 , 적용 , 수정 , 삭제

printf100 2019. 12. 10. 21:42

시퀀스 ( SEQUENCE ) 란 ?

  • 지정된 값만큼 증가하거나 감소시키는 자동 번호 발생기

  • UNIQUE한 값을 생성해줍니다.

  • 주로 PRIMARY KEY의 값을 생성해주기 위해 사용합니다.

  • 테이블과 독립적이기 때문에 하나의 시퀀스를 여러 테이블에서 사용할 수 있습니다.

 

  • 생성

CREATE SEQUENCE TEST_SEQ
    START WITH 1		-- 시작 값 : 맨 처음 실행할 때 딱 한 번만 적용된다. (수정 불가)
    INCREMENT BY 1		-- 정수값만큼 증감
    MAXVALUE 9999		-- 최대값
    MINVALUE 1			-- 최소값
    NOCYCLE			-- 반복 여부
    NOCACHE;			-- 캐시 생성 여부

 

  • 검색

SELECT *
FROM USER_SEQUENCES;

 

  • 적용 : 시퀀스명.NEXTVAL

-- 시퀀스값 넣기(NEXTVAL)
INSERT INTO TEST(NO, NAME, NICKNAME)
VALUES(TEST_SEQ.NEXTVAL, '이름', '별명);

-- 현재 시퀀스값 확인하기(CURRVAL)
SELECT TEST_SEQ.CURRVAL FROM DUAL;

 

  • 수정

ALTER SEQUENCE TEST_SEQ
    INCREMENT BY 2
    MAX VALUE 1000;

 

  • 삭제

DROP SEQUENCE TEST_SEQ;