CREATE OR REPLACE PROCEDURE SEQ_RESET(V_SEQNAME VARCHAR2) AS N NUMBER(10); TSQL VARCHAR2(100); BEGIN EXECUTE IMMEDIATE 'SELECT ' || V_SEQNAME || '.NEXTVAL FROM DUAL' INTO N; N := - (N - 1); TSQL := 'ALTER SEQUENCE ' || V_SEQNAME || ' INCREMENT BY ' || N; EXECUTE IMMEDIATE TSQL; EXECUTE IMMEDIATE 'SELECT ' || V_SEQNAME || '.NEXTVAL FROM DUAL' INTO N; TSQL := 'ALTER SEQUENCE ' || V_SEQNAME || ' INCREMENT BY 1'; EXECUTE IMMEDIATE TSQL; END SEQ_RESET;