Re: Función que no me inserta los datos

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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.