30/04/2012, 09:52
|
| | 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!! |