From: | "Mario Soto Cordones" <masc68(at)gmail(dot)com> |
---|---|
To: | "'Jaime Casanova'" <jaime(at)2ndquadrant(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Duda con trigger |
Date: | 2011-04-19 20:42:31 |
Message-ID: | 00c701cbfed2$50a59fd0$f1f0df70$@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola en efecto quiero actualizar el mismo registro.
Trate de crearla como dices y no me deja crear la función
CREATE FUNCTION "act_estala" () RETURNS trigger AS
$body$
BEGIN
UPDATE bermann_pgps_estala
SET
NEW.ala_anterior = OLD.ala_actual
where OLD.sq_vehiculo = OLD.sq_vehiculo;
RETURN NEW;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER;
-----Mensaje original-----
De: jcasanov(at)systemguards(dot)com(dot)ec [mailto:jcasanov(at)systemguards(dot)com(dot)ec] En nombre de Jaime Casanova
Enviado el: martes, 19 de abril de 2011 15:30
Para: Mario Soto Cordones
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Duda con trigger
2011/4/19 Mario Soto Cordones <masc68(at)gmail(dot)com>:
>
> UPDATE estala
> SET ala_anterior = OLD.ala_actual
> where sq_vehiculo = OLD.sq_vehiculo;
>
deja ver. el trigger se dispara al ejecutar UPDATE sobre la tabla estala, verdad? y que crees que pasara al ejecutar otro UPDATE sobre la misma tabla dentro del trigger que ejecuto el UPDATE?
la forma correcta de hacer lo que quieres es (esto es asumiendo que quieres actualizar el mismo registro que se esta grabando):
BEGIN
new.ala_anterior = old.ala_actual;
RETURN NEW;
END;
--
Jaime Casanova www.2ndQuadrant.com Professional PostgreSQL: Soporte y capacitación de PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Soto Cordones | 2011-04-19 21:24:40 | RE: Duda con trigger |
Previous Message | Mario Soto Cordones | 2011-04-19 20:17:50 | RE: Duda con trigger |