본문 바로가기
SQL/Oracle

오라클 시퀀스 생성부터 사용법까지

by wakestand 2020. 3. 2.
반응형

오라클에서 시퀀스는 자동으로 값을 증가시켜 줄 때 사용하는데

예를 들어보자면 웹사이트에서 게시물을 작성할 시

게시물 번호가 자동으로 올라가는 것이 보일텐데

이게 바로 시퀀스를 사용한 예제다

 

시퀀스는 위 스크린샷과 같이 구성되어 있으며

실제 예제 작성시에는 아래를 가져가서 사용해주면 된다

 

CREATE SEQUENCE 시퀀스명

INCREMENT BY 값

START WITH 값

NOMINVALUE / MINVALUE 값

NOMAXVALUE / MAXVALUE 값

NOCYCLE OR CYCLE

NOCACHE OR CACHE

 

시퀀스를 만든 후에는

시퀀스의 값을 넘기고

현재 시퀀스의 값을 확인 가능한데

방법은 아래를 봐주면 된다

 

시퀀스명.NEXTVAL

- 시퀀스 값 넘기기

시퀀스명.CURRVAL

- 시퀀스의 현재 값 확인

 

시퀀스를 수정할 때는

맨 처음 시퀀스 작성 시 사용했던 문장에서

'CREATE''ALTER'로 바꾸고

'START WITH'를 빼주면 바로 변경할 수 있다

 

시퀀스를 삭제할 때는

DROP SEQUENCE 시퀀스명

으로 삭제해주면 된다

 

마지막으로 시퀀스 예제 관련해서

사용한 코드들은 아래를 참고해주면 된다

 

-- 시퀀스 생성
CREATE SEQUENCE 시퀀스명    -- 시퀀스명 설정
INCREMENT BY 값             -- 증감값
START WITH 값               -- 시작값 (증감값이 양수면 MINVALUE부터, 음수면 MAXVALUE부터 시작)
NOMINVALUE OR MINVALUE 값   -- NOMINVALUE : 최소값 없음
                            -- MINVALUE : 최소값 설정
NOMAXVALUE OR MAXVALUE 값   -- NOMAXVALUE : 최대값 없음
                            -- MAXVALUE : 최대값 설정
NOCYCLE OR CYCLE            -- CYCLE : 최대값 도달 시 최소값부터 다시 시작
                            -- NOCYCLE : 최대값 도달 시 시퀀스 생성 중단
NOCACHE OR CACHE 값         -- 시퀀스를 빨리 제공하기 위해 메모리에 캐쉬 지정
			    -- NOCACHE시 기본값 20

 

-- 시퀀스 수정
ALTER SEQUENCE 시퀀스명     -- 시퀀스 수정
INCREMENT BY 값             -- 증감값
NOMINVALUE OR MINVALUE 값   -- NOMINVALUE : 최소값 없음
                            -- MINVALUE : 최소값 설정
NOMAXVALUE OR MAXVALUE 값   -- NOMAXVALUE : 최대값 없음
                            -- MAXVALUE : 최대값 설정
NOCYCLE OR CYCLE            -- CYCLE : 최대값 도달 시 최소값부터 다시 시작
                            -- NOCYCLE : 최대값 도달 시 시퀀스 생성 중단
NOCACHE OR CACHE 값         -- 시퀀스를 빨리 제공하기 위해 메모리에 캐쉬 지정
			    -- NOCACHE시 기본값 20

 

-- 시퀀스 현재 값 조회, 값 넘기기, 시퀀스 삭제
SELECT 시퀀스명.CURRVAL FROM DUAL -- 시퀀스 현재값
SELECT 시퀀스명.NEXTVAL FROM DUAL -- 시퀀스 넘기기
DROP SEQUENCE 시퀀스명            -- 시퀀스 삭제
반응형

댓글