Hola, si me permites darte unos pequeños alcances, pasa que myvar no es una 
variable cualquiera, lo has declarado como un recordset :

 

>> DECLARE myvar record;


 por eso no lo puede utilizar en la condicional de la forma como lo haces :


>> IF (myvar == "no_prestado") THEN


debes llamarlo asi 

 

IF (myvar.estado_del_prestamo == "no_prestado") THEN


de otro modo no podras recuperar el valor, a menos que lo declares como un 
VARCHAR, solo asi  podras utilizarlo como lo has planteado.

 


.:: J @ v i e r ::.


 

> Date: Fri, 19 Jun 2009 00:23:58 -0400
> From: rper...@uci.cu
> To: pgsql-es-ayuda@postgresql.org
> Subject: [pgsql-es-ayuda] Función que no me inserta los datos
> 
> Buenas noches a todos:
> He estado indagando últimamente en el mundo de las Funciones de 
> PostgreSQL pero me está dando serios problemas. Tengo la siguiente función:
> 
> DECLARE myvar record;
> BEGIN
> SELECT "Material"."estado_del_prestamo" INTO myvar FROM "Material" 
> WHERE "Material"."ID_Material" = $1;
> RETURN myvar;
> IF (myvar == "no_prestado") THEN
> RAISE EXCEPTION 'Valor de myvar:', myvar;
> INSERT INTO "Prestamo" VALUES($2,$3,$4,$5,$6,$7,$8,$9,$10);
> UPDATE "Material" SET "Material".estado_del_prestamo = "prestado";
> END IF;
> END
> 
> Me está pasando que cuando la ejecuto no me realiza las acciones que 
> están dentro de la condicional: insertar en la tabla Prestamo, 
> actualizar la tabla Material.
> 
> ¿Me puede decir alguien que estoy haciendo mal?
> Un saludo
> --
> TIP 8: explain analyze es tu amigo

_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

Responder a