오라클 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

+ Recent posts