반응형
DB에서 주로 pk값의 채번을 위해 자주 사용하는 시퀀스에 대해 알아보도록 하겠습니다. 현재 계정이 가지고 있는 전체 시퀀스 조회 방법, 생성, 수정, 삭제 방법 그리고 각 시퀀스 현재값, 다음값 조회 방법까지 알아보겠습니다.
목차
1. 시퀀스 조회 (전체 조회, 현재값, 다음값)
2. 시퀀스 생성/수정/삭제
1. 시퀀스 조회
1) 시퀀스 전체 조회 (Oracle Dictionary)
-- 오라클 딕셔너리 조회
SELECT *
FROM ALL_SEQUENCES
각 시퀀스의 소유자, 명칭, 최소/최대값, 증감, 현재 채번된 마지막 번호까지 한 번에 조회가 가능합니다.
시퀀스 전수조사할 일이 있을 때 사용하면 간단히 해결됩니다.
2) 시퀀스 현재/다음값 조회 (currval, nextval)
-- 현재값
SELECT 시퀀스명.CURRVAL FROM DUAL;
-- 다음값
SELECT 시퀀스명.NEXTVAL FROM DUAL;
NEXTVAL의 경우 실행 할 때마다 시퀀스 값이 올라가기 때문에 실제 채번에 사용하고,
단순히 조회해보는 용도일 때는 CURRVAL로 조회하시는 걸 추천드립니다.
2. 시퀀스 생성/수정/삭제
1) 시퀀스 생성/수정
CREATE(ALTER) SEQUENCE [시퀀스명]
INCREMENT BY [증감]
START WITH [시작할 숫자]
MINVALUE [최소값]
MAXVALUE [최대값]
CYCLE OR NOCYCLE
CACHE OR NOCACHE
- CREATE 생성, ALTER 수정
- INCREMENT BY : 양수 혹은 음수 설정 가능. Default 1.
- START WITH : 증가일 때 Default MIN값, 음수일 때 MAX값.
- MINVALUE/MAXVALUE : 앞에 NO를 붙여 Default 설정이 가능하지만 대부분 쓰지 않음.
- (NO)CYCLE : 최대값 도달 시 다시 최소값부터 시작, NOCYCLE의 경우 시퀀스 종료.
- (NO)CACHE : 메모리 미리 할당, NOCACHE의 경우 메모리 할당 X.
2) 시퀀스 삭제
DROP SEQUENCE [시퀀스명]
그리드형
'IT > DB' 카테고리의 다른 글
[ORACLE] 타임스탬프로 과거데이터 조회 복구하기 (TIMESTAMP) (0) | 2022.02.18 |
---|---|
[Oracle] 오라클 더 크고, 작은 값 비교와 주의할 점 GREATEST, LEAST(최대/최소값) (0) | 2022.01.18 |
[ORACLE] ORA-01732 : 뷰에 대한 조작이 부적합합니다. (0) | 2021.12.22 |
[ORACLE] 널(NULL)에 대한 IN과 NOT IN (0) | 2021.11.27 |
[ORACLE] NULL 값 정렬 (ORDER BY NULLS FIRST OR LAST) (0) | 2021.11.24 |
댓글