From: | Reynier Pérez Mira <rperezm(at)uci(dot)cu> |
---|---|
To: | Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com> |
Cc: | posgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Función que no me inserta los datos |
Date: | 2009-06-19 14:26:28 |
Message-ID: | 4A3BA014.6010101@uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Julio Cesar Rodriguez Dominguez wrote:
> ese return antes del if, no debe ir ahí, ya que al llegar a ese punto
> la función termina. Pasalo hasta abajo despues del end if.
Finalmente, gracias a la ayuda de Cesar Erices he logrado solucionar el
problema. Ahora la función me quedó de la siguiente forma:
CREATE OR REPLACE FUNCTION "public"."RealizarPrestamo" ("ID_Material"
integer, id_prestamo integer, "Tipo" char, "Horario" char,
"Nombre_Solicitante" char, "Apellidos_Solicitante" char,
"Solapin_Solicitante" integer, "Datos_Material_Prestado" char,
"Tipo_Material_Solicitado" char, "Fecha" char) RETURNS boolean AS
$body$
DECLARE myvar character varying(100);
BEGIN
SELECT "Material"."estado_del_prestamo" INTO myvar FROM "Material"
WHERE "Material"."ID_Material" = $1;
IF (myvar = 'no_prestado') THEN
INSERT INTO "Prestamo" VALUES($2,$3,$4,$5,$6,$7,$8,$9, $10);
UPDATE "Material" SET estado_del_prestamo = 'prestado' WHERE
"Material"."ID_Material" = $1;
IF NOT FOUND THEN
RETURN FALSE;
END IF;
RETURN TRUE;
END IF;
RETURN FALSE;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
Un saludo y gracias a todos los que se tomaron el trabajo de ayudar
From | Date | Subject | |
---|---|---|---|
Next Message | Luis Fernando Curiel Cabrera | 2009-06-19 14:51:57 | Openbravo Postgres |
Previous Message | Felipe Hernández | 2009-06-19 14:17:31 | Re: Select filtrando filas repetidas. |