Oracle - Problema con funcion

 
Vista:

Problema con funcion

Publicado por Eleazar (2 intervenciones) el 09/10/2008 17:47:57
Tengo creada una función en Oracle que me devuelve un dato de acuerdo al código y a la fecha que ingreso como parámetros (devuelve un null si es que no existen datos).

Mi duda es que la funcion está bien diseñada, ya que en el DBA Studio compila bien. El problema que tengo es cuando realizo la prueba usando el SQL*Plus la función como que se queda en un loop y tengo que cancelar para detener el proceso. Sin embargo, cuando realizo la Query manualmente sólo me devuelve 1 valor.

¿me falta algo que haga break en la función para evitar este detalle? ¿o es que estoy llamando mal la función cuando realizo la prueba en el SQL*Plus?

Esta es la funcion:

(codigo IN NUMBER, fecha IN DATE) RETURN NUMBER AS valor_devuelto NUMBER;

BEGIN
SELECT VAME_VALOR INTO valor_devuelto
FROM valores_medidos
WHERE MEDI_CODIGO=codigo AND VAME_FECHA_HORA=fecha;
RETURN (valor_devuelto);
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN null;
END VALOR_VAME;

y así la llamo desde eñ SQL*Plus:

select valor_vame(1676,to_date('09/10/2008 09:00:00','DD/MM/YYYY HH24:MI:SS')) FROM valores_medidos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder