Issue is I'm unable to reset the sequence back to '1'. I Have created the sequence as below...
DROP SEQUENCE TEST_SEQ;
CREATE SEQUENCE TEST_SEQ MINVALUE 1 START WITH 1 INCREMENT BY 50;
when doing 'nextval', the output is 1.
SELECT TEST_SEQ.NEXTVAL FROM DUAL; --> output is '1'
Below procedure is from this community which I am using for resetting the sequence
CREATE OR replace PROCEDURE RESET_SEQ(p_seq_name IN VARCHAR2) 
IS 
  l_val      NUMBER; 
  l_minvalue user_sequences.min_value%TYPE; 
BEGIN 
    SELECT min_value 
    INTO   l_minvalue 
    FROM   user_sequences 
    WHERE  sequence_name = Upper(p_seq_name); 
    EXECUTE IMMEDIATE 'SELECT '||p_seq_name||'.NEXTVAL FROM DUAL' INTO l_val; 
    l_val := l_val - l_minvalue; 
    EXECUTE IMMEDIATE 'ALTER SEQUENCE '||p_seq_name||'INCREMENT BY -'||l_val|| 
    'MINVALUE '||l_minvalue; 
    EXECUTE IMMEDIATE 'SELECT '||p_seq_name||'.NEXTVAL FROM DUAL' INTO l_val; 
    EXECUTE IMMEDIATE 'ALTER SEQUENCE '||p_seq_name||'INCREMENT BY 50 MINVALUE ' 
    ||l_minvalue; 
END; 
/
BEGIN
RESET_SEQ('TEST_SEQ');
END;
/
After resetting the sequence when I check nextvalue, I am getting the output as 51. But I need the output as 1.
SELECT TEST_SEQ.NEXTVAL FROM DUAL; --> output is '51'.
Only when I drop and recreate the sequence I am able to get the nextvalue as '1'.
Please help me in modifying the above procedure so that my output is '1'.
 
     
    