Un trigger sencilla que no hay manera ade que funcione

From: emilio alvarez <dr7tbien(at)terra(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Un trigger sencilla que no hay manera ade que funcione
Date: 2004-10-12 21:46:36
Message-ID: 416C50BC.2040103@terra.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tengo una tabla llamada articulos en la que uno de los campos se llama
fecha_acceso. Además de esta tabla tengo varias más con el mismo campo
llamado fecha_acceso. En este campo meto la ultima fecha de acceso o
actualización de esa fila de la tabla. Hasta aquí todo bien. Me miro el
manula de los triggers y creo mi primera función y el primer trigger,
los cuales os los escribo a continuación:

linea 1 CREATE FUNCTION actualizar_fecha() RETURNS TRIGGER AS '
l2 BEGIN
l3 UPDATE TG_RELNAME SET
NEW.fecha_acceso=DATE_PART(''epoch'', CURRENT_TIMESTAMP) WHERE id=OLD.id;
l4 RETURN NULL;
l5 END;
l6 ' LANGUAGE 'plpgsql';

l7 CREATE TRIGGER trigger_fecha AFTER UPDATE ON articulos
l8 FOR EACH ROW
l9 EXECUTE PROCEDURE actualizar_fecha();

Como resultado, psql me dice "CREATE TRIGGER". El caso es que cuando voy
a actualizar una fila de la tabla articulos, me dice psql:

WARNING: Error occurred while executing PL/pgSQL function actualizar_fecha
WARNING: line 3 at SQL statement
ERROR: parser: parse error at or near "$1" at character 23

Creo que la linea 3 se corresponde con l3. He intentado varias cosas.
POr ejemplo en lugar de poner TG_RELNAME que supuestamente hace
referencia al nombre de la tabla que invoca el trigger he escrito
'articulos'. Igualmente con resultados desastrosos. Bueno, espero alguna
aclaración sobre esto que la verdad me tiene sumido en una gran incógnita.

dr7tbien

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-10-12 21:51:41 Re: Un trigger sencilla que no hay manera ade que funcione
Previous Message Alvaro Herrera 2004-10-12 21:17:36 Re: Un trigger sencilla que no hay manera ade que funcione