Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2012, 09:52
gonzalofernandez1985
 
Fecha de Ingreso: marzo-2012
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema con procedimiento

Buenas, estoy realizando el siguiente procedimiento:

create or replace
PROCEDURE calculo_tiempo(p_mes date)
is
v_id number;
v_id_fin number;
v_fecha_inicio date;
v_segundos_inicio number;
v_segundos_fin number;
v_metodo varchar2(40);
v_lin2 number;
v_tot number;
v_eof BOOLEAN DEFAULT false;
CURSOR c_log is
SELECT id_log,fecha_inicio,hora_inicio,metodo FROM prb_lectura_log WHERE inicio_fin='begin' and fecha_inicio=p_mes;

BEGIN
V_tot:=0;
DBMS_OUTPUT.PUT_LINE('mensaje');
OPEN c_log;
LOOP
FETCH c_log into v_id,v_fecha_inicio,v_segundos_inicio,v_metodo;
IF v_eof THEN
CLOSE c_log;
EXIT;
END IF;

v_id_fin:=0;
DBMS_OUTPUT.PUT_LINE('MENSAJE');
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';
DBMS_OUTPUT.PUT_LINE(v_id_fin);
if v_id_fin<>0 then
DBMS_OUTPUT.PUT_LINE('Mensaje dentro del IF');
update prb_lectura_log set segundos_empleados=(v_segundos_fin-v_segundos_inicio) where id_log=v_id;
DBMS_OUTPUT.PUT_LINE(v_segundos_fin);
DBMS_OUTPUT.PUT_LINE(v_segundos_inicio);
commit;
end if;
END LOOP;
exception
WHEN NO_DATA_FOUND THEN v_eof :=true;
END calculo_tiempo;

Lo ejecuto con la siguiente sentencia:

execute calculo_tiempo(to_date('14/03/2012','DD/MM/YYYY'));

y me muestra el mensaje:

bloque anónimo terminado
mensaje
MENSAJE

Pero no me muestra el resto de mensajes que hay por debajo...Alguno sabeis a que se puede deber? los campos estan bien descritos y la tabla tiene datos suficientes.
Gracias!!