Hi~ Summers!!

[oracle] 시퀀스 초기화 프로시져 본문

개발/DB

[oracle] 시퀀스 초기화 프로시져

eNaNII 2018. 5. 11. 16:16

시퀀스를 초기화하는 프로시져

1년마다 시퀀스가 초기화되어야 한다면

아래 프로시져를 job에 등록해서 사용하면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR REPLACE PROCEDURE PR_RESET_SEQ( SEQ_NAME IN VARCHAR2 )
IS
    L_VAL NUMBER;
BEGIN
    EXECUTE IMMEDIATE 'select ' || SEQ_NAME || '.nextval from dual' INTO L_VAL;    
 
    EXECUTE IMMEDIATE 'alter sequence ' || SEQ_NAME || ' increment by -' || L_VAL || ' minvalue 0';
 
    EXECUTE IMMEDIATE 'select ' || SEQ_NAME || '.nextval from dual' INTO L_VAL;
 
    EXECUTE IMMEDIATE 'alter sequence ' || SEQ_NAME || ' increment by 1 minvalue 0';
END;
cs

 

Comments