Problemilla con funcion/trigger

From: "Leo Gamez CCD Desarrollo" <desarrollo(at)ccdasesores(dot)e(dot)telefonica(dot)net>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Problemilla con funcion/trigger
Date: 2005-04-12 16:45:10
Message-ID: 6556315E9E43C34C98E67355DF3C5C050DC841@ZE3BUZON020.e.telefonica.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos cordiales,

Estoy intentando hacer una funcion que sera llamada por un trigger, pero al ejecutarse me da el error: missing ".." at end of SQL expression . He mirado la documentación de postgres sobre esto pero no me acabo de aclarar y no comprendo a que se debe el error (la funcion la crea correctamente y el trigger tambien).


CREATE FUNCTION INM_ORDENFOTO() RETURNS trigger AS '
DECLARE
sql varchar;
BEGIN
--Insert/Update
IF NEW.ORDEN = 0 THEN --Foto de tipo Web
IF TG_OP = ''UPDATE'' THEN
sql := ''SELECT kfoto FROM inm.foto WHERE kpropiedad=''|| NEW.kpropiedad || '' AND orden=0 AND kfoto<>'' || NEW.kfoto ;
FOR fotosweb IN sql LOOP
UPDATE inm.foto SET orden = 1 WHERE kfoto = fotosweb.kfoto;
END LOOP;
END IF;
END IF;
RETURN NEW;
END;
' LANGUAGE plpgsql;

Como pone en la documentacion on line, he probado a llamar la sql en el propio for o hacer el update desde execute, pero ni con esas. Se que algo me estoy dejando por alto pero no lo acabo de ver. Disculpad si hay fallos "aberrantes" de sintaxis, no estoy muy acostumbrado a crear funciones/triggers (no es algo que ocurra cada dia).

Saludos y gracias de antemano.
Leo

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Manuel Sugawara 2005-04-12 17:10:26 Re: Problemilla con funcion/trigger
Previous Message Ricardo Navarro 2005-04-12 16:12:41 RE: duda sobre funciones en php