Re: Función que no me inserta los datos

From: Reynier Pérez Mira <rperezm(at)uci(dot)cu>
To: rperezm(at)uci(dot)cu
Cc: Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>, posgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Función que no me inserta los datos
Date: 2009-06-19 12:51:44
Message-ID: 4A3B89E0.3090209@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Reynier Pérez Mira wrote:
> Julio Cesar Rodriguez Dominguez wrote:
>> 1.- Las cadenas van encerradas en comillas simples, no doble comillas
>> 2.- el operador == no existe
>> 3.- Si lanzas una excepción, se aborta el proceso de la función.
>
> He ajustado la función y ahora queda así:

Aquí está el DDL

CREATE OR REPLACE FUNCTION "public"."RealizarPrestamo" ("ID_Material"
integer, id_prestamo integer, "Tipo" char, "Horario" char,
"Nombre_Solicitante" char, "Solapin_Solicitante" char,
"Datos_Material_Prestado" char, "Tipo_Material_Solicitado" char, "Fecha"
char) RETURNS record AS
$body$
DECLARE myvar record;
BEGIN
SELECT "Material"."estado_del_prestamo" INTO myvar FROM "Material"
WHERE "Material"."ID_Material" = $1;
RETURN myvar;
IF (myvar.estado_del_prestamo = 'no_prestado') THEN
INSERT INTO "Material Prestamo" VALUES($1,$2);
INSERT INTO "Prestamo" VALUES($2,$3,$4,$5,$6,$7,$8,$9,$10);
UPDATE "Material" SET "Material".estado_del_prestamo = "prestado";
END IF;
END
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

Notas:
1. Si pongo comillas simples, por ejemplo:
SELECT 'Material'.'estado_del_prestamo' INTO myvar FROM 'Material' ....
SELECT ´Material´.´estado_del_prestamo´ INTO myvar FROM ´Material´ ....

Me devuelve un error (ya lo puse en el correo anterior) y no me deja
ejecutar la función.

2. Cuando ejecuto la función (tal y como está arriba) la salida del
editor es la siguiente:

Query OK (0.06 sec)
Return Value: (no_prestado)

pero por alguna razón no entra a la condicional.

¿Alguna idea de por que no inserta ni actualiza los datos en las tablas?

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar Erices 2009-06-19 12:58:25 Re: Cambiar Directorio Data
Previous Message Reynier Pérez Mira 2009-06-19 11:55:48 Re: Función que no me inserta los datos