CREATE SEQUENCE NAME
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}]
예제
CREATE SEQUENCE TEST_TABLE_SEQ
INCREMENT BY 1 -- 증가 단위는 1
START WITH 1 -- 1부터 시작
NOMAXVALUE -- 최대값 제한 없음
NOCYCLE
NOCACHE
사용
--값 가져오기
--무조건 다음 증가한 값을 가져온다
INSERT INTO TEST_TABLE
(TESTID1,TESTID2, ...생략... CREDATE,CREUSER)
VALUES
(TEST_TABLE_SEQ.NEXTVAL, ...생략... SYSDATE,'TESTUSER');
--값을 증가시키지 않고 조회만 하기
SELECT TEST_TABLE_SEQ.CURRVAL FROM DUAL;
※ 시퀀스 생성후 .NEXTVAL을 한번도 실행하지 않은 상태로 .CURRVAL로 현재 값을 조회하면
'ORA-08002: 시퀀스 KR_VENDOR_STAMP_SEQ.CURRVAL은 이 세션에서는 정의 되어 있지 않습니다.'
에러 발생함.
'DataBase' 카테고리의 다른 글
[Toad] 에디팅시 () 부분이 반전 제거 (0) | 2008.02.19 |
---|---|
[Oracle] Sequence를 사용하지 않고 Hint를 사용하여 일렬번호를 생성하는법 (0) | 2007.10.14 |
[Oracle] 테이블 생성 (다중 컬럼 PK) (0) | 2007.10.09 |
오라클 START/STOP (0) | 2007.08.11 |
[Oracle] ORA-01691 에러 (1) | 2007.04.26 |