Buenas de nuevo.
He repasado la funcion y esta muy bien, pero me queda una dudita, ¿para que utilizas el power?
Gracias por la ayuda, ha sido muy buena.
Cita:
Iniciado por MutenRo
Código:
CREATE OR REPLACE FUNCTION FN_NEXTVAL RETURN NUMBER
IS
v_num_sec NUMBER;
v_primera NUMBER;
BEGIN
SELECT SEQ_PRUEBA.NEXTVAL INTO v_num_sec FROM DUAL;
IF(SUBSTR(TO_CHAR(v_num_sec),1,4) <> TO_CHAR(SYSDATE,'YYYY')) THEN
v_primera := TO_NUMBER(TO_CHAR(SYSDATE,'YYYY')) * POWER(10,LENGTH(v_num_sec)-4) + 1;
WHILE(v_num_sec < v_primera)
LOOP
SELECT SEQ_PRUEBA.NEXTVAL INTO v_num_sec FROM DUAL;
END LOOP;
END IF;
RETURN v_num_sec;
END FN_NEXTVAL;
/