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 11:55:48 |
Message-ID: | 4A3B7CC4.6030709@uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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í:
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
Pero ahora me arroja este error siempre que trato de ejecutarla:
ERROR: error de sintaxis en o cerca de «.» at character 18
QUERY: SELECT 'Material'.estado_del_prestamo FROM 'Material' WHERE
'Material'.ID_Material = $1
CONTEXT: SQL statement in PL/PgSQL function "RealizarPrestamo" near line 3
Me huele que algo tiene que ver con las comillas simples ('). Cuando las
tenía doble se ejecutaba sin problema alguno lo que jamás me insertó o
actualizó los datos.
Un saludo
From | Date | Subject | |
---|---|---|---|
Next Message | Reynier Pérez Mira | 2009-06-19 12:51:44 | Re: Función que no me inserta los datos |
Previous Message | Mario Wojcik | 2009-06-19 07:49:04 | Re: Select filtrando filas repetidas. |