오라클 18c에서는 sequence 값 변경을 위해 아래와 같은 restart 옵션이 존재함
(해당 사항은 오라클 문서에는 표시 되지 않음)
1. sequence 값 restart
초기 값으로 reset 함
ALTER SEQUENCE seqt1 RESTART;
2. sequence 값 임의의 값을 변경
ALTER SEQUENCE seqt1 RESTART START WITH 1500;
3. sequence restart 값 rollback
ALTER SEQUENCE seqt1 RESTART START WITH 1500;
ROLLBACK;
초기 값(1)로 원복됨
4. 예제
CREATE SEQUENCE seqt1
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999;
* 기존 방식으로 값을 증가
DECLARE
l_val NUMBER;
BEGIN
FOR i IN 1..500
LOOP
l_val := seqt1.NEXTVAL;
END LOOP;
END;
/
SELECT seqt1.nextval FROM dual;
* 초기값으로 변경
ALTER SEQUENCE seqt1 RESTART;
'RDB > Oracle' 카테고리의 다른 글
oracle sql trace (10053) (0) | 2019.09.29 |
---|---|
oracle 18c table 통계 정보 pending (0) | 2019.09.25 |
oracle 18c object 통계 정보 수집 (0) | 2019.09.25 |
oracle 12 rac 아키텍처 (0) | 2019.09.20 |
database 아키텍처 (0) | 2019.09.20 |