> # SEQUENCE
(사용형식)
CREATE [OR REPLACE] SEQUENCE 시퀀스명
[START WITH n] --시작 값, 기본은 MIN_VALUE
[INCREMENT BY n] --증감값
[MAXVALUE n|NOMAXVALUE] --최대값, 기본은 NOMAXVALUE이고 10^27까지 사용
[MINVALUE n|NOMINVALUE] --최소값, 기본은 NOMINVALUE이고 -(10^27)까지 사용
[CYCLE|NOCYCLE] -- 최대(최소)값까지 도달 후 다시 SEQUNECE 생성여부 기본은 NOCYCLE
[CACHE n|NOCACHE] -- 캐쉬에 미리 만들어 놓고 사용할지 여부 기본은 CACHE 20
[ORDER|NOORDER] --시퀀스 객체 생성을 보증할지 여부 기본은 NOORDER
**시퀀스 객체의 Pseudo Column(의사컬럼)
--------------------------------------------------------------------------
Pseudo Column 내용
--------------------------------------------------------------------------
시퀀스명.CURRVAL 시퀀스객체의 현재 값
시퀀스명.NEXTVAL 시퀀스객체의 다음 값
--------------------------------------------------------------------------
*** 해당 세션에서 시퀀스 객체는 적어도 한 번이상의 NEXTVAL 이 수행된 후 CURRVAL 에 값이 배정됨
사용예) LPROD 테이블에 신규 분류코드를 추가 삽입하기 위한 시퀀스를 생성하고 다음 분류코드를 추가삽입하시오. 시퀀스는 LPROD_ID 데이터로 사용
[자료]
LPROD_GU: 'P501'
LPROD_NM: 농산물
LPROD_GU: 'P502'
LPROD_NM: '임산물'
(시퀀스생성)
CREATE SEQUENCE SEQ_LPROD_ID
START WITH 10;
SELECT SEQ_LPROD_ID.NEXTVAL FROM DUAL;
SELECT SEQ_LPROD_ID.CURRVAL FROM DUAL;
INSERT INTO LPROD
VALUES(SEQ_LPROD_ID.CURRVAL, 'P501', '농산물');
SELECT * FROM LPROD;
INSERT INTO LPROD
VALUES(SEQ_LPROD_ID.NEXTVAL, 'P502', '임산물');
SELECT * FROM LPROD;