Código:
...
Select id_log,hora_inicio INTO v_id_fin,v_segundos_fin
FROM prb_lectura_log
WHERE id_log>v_id and
fecha_inicio=v_fecha_inicio and
metodo=v_metodo and
inicio_fin='end';
...
Lo más probable es que esta consulta no devuelva registros, lo que produce un salto del código hacia el bloque EXCEPTION y después finaliza el proceso, puedes confirmar el problema haciendo un count, por ejemplo:
Código:
...
Select count(*) INTO v_cantidad
FROM prb_lectura_log
WHERE id_log>v_id and
fecha_inicio=v_fecha_inicio and
metodo=v_metodo and
inicio_fin='end';
dbms_output.put_line( to_char(v_cantidad) );
...
Además de esto, sería recomendado que tengas una gestión de excepciones más precisa, por ejemplo:
Código:
begin
.....
loop
begin
......
exception --gestión de errores específicos del cursor
when no_data_found then
exit;
end;
end loop;
....
exception --gestión de errores generales del procedimiento
when others then
dbms_output.put_line(sqlerrm);
end;
Saludos