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