Oracle - FUNCIONES

 
Vista:

FUNCIONES

Publicado por maribel (2 intervenciones) el 28/02/2007 12:06:19
hOLA wenas tengo un problemilla y es que oracle me lanza una exception 01722 para esta función y no se porque, alguien puede decirme si sabe porque sucede. La he buscado y creo que es del tipo invalid number, o algo así, QUE PUEDO HACER? Ayudarme por favor, muchas gracias!!

FUNCTION ConfirmarHistorico RETURN boolean IS
alquiler number;
alerta number;
BEGIN
select count(0) into alquiler from historico where id_socio=:alquiler.id_socio and id_pelicula=:alquiler.id_pelicula;
if not(alquileres2>0) then
return true;
else
alerta:=show_alert('Alerta_alquilada');
if alerta=alert_button1 then
insert into alquiler values(:alquiler.id_socio, :alquiler.id_pelicula, :alquiler.fecha_alq);
update peliculas set copias_lib=copias_lib -1 where id_pelicula=:alquiler.id_pelicula;
end if;
end if;
END;

Lo que quiero es saber si hay algun socio y pelicula(meto por teclado) que coincida con mi socio y pelicula de la base de datos.
Me informe y creo que con select count(0)... me devuelve un número de consultas que cumplan estos requisitos nop¿?

JOP PARECE LA BIBLIA pero si alguien pudiera ayudarme os lo agradecería muchísimo, es para un proyecto de clase, y no se ke más hacer, gracias OTRA VEZ!!
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

RE:FUNCIONES

Publicado por Hector (127 intervenciones) el 01/03/2007 03:50:03
Hola.
Tu funcion se ve bien, excepto que cuando no devuelve true, no veo que devuelva false en la parte del else del if. Es un problema.

Otro es que en el if comparas alquileres2 y esa variable no existe.

Espero que eso te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar