This question begs another question - why are you trying to drop and re-add a sequence? You should never need to do this. Create the sequence once:
CREATE SEQUENCE PRIMARY_KEY_SEQ
MINVALUE 1
MAXVALUE 9999999999999999999999999999
START WITH 1
INCREMENT BY 1
NOCACHE;
Then, use it in your code:
DECLARE
new_employee_id INTEGER;
BEGIN
new_employee_id := PRIMARY_KEY_SEQ.NEXTVAL;
INSERT INTO SOME_TABLE_MAYBE_EMPLOYEES
(ID, WHATEVER, WHATEVER_ELSE)
VALUES
(new_employee_id, 'WHATEVER', 'WHATEVER_ELSE');
END;
The whole purpose of the sequence is to provide unique, non-repeating values. Going out to the table, grabbing the MAX(ID), and recreating the sequence to start from there is sort of backwards from the way a sequence should be used. Create a sequence once, then use it many times.
Hopefully this helps.
Share and enjoy.