ayuda please!!

imaz
08 de Marzo del 2004
muy buenas!!

a las buenas de dios

FUNCTION VALOR_SEQ
(p_seq_name IN varchar2)
RETURN number IS

v_cod number;

BEGIN
--siguiente valor
select p_seq_name.nextval into v_cod from dual;
RETURN v_cod;
EXCEPTION
WHEN others THEN
v_cod:=-1;
END;

quiero que dado cualquier secuencia me devuelva el valor nextval, pero me casca.
como lo puedo hacer?
estoy usando oracle.

agur