Skip site navigation (1) Skip section navigation (2)

Re: problema con trigger

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Virginia <mavir78(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: problema con trigger
Date: 2010-10-26 03:39:42
Message-ID: AANLkTimu-JL9996UqR=7LvYxV2=RCWs5_U_yS=XrjJAw@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2010/10/25 Virginia <mavir78(at)gmail(dot)com>:
> Buenas noches, cómo están? quisiera saber si pueden ayudarme con una duda.
> Tengo una tabla con los campos id, campo1, campo2, campo3, total y un
> trigger q lo que debería hacer es que cada vez q inserto un registro en esa
> tabla me sume el campo1 + campo2 + campo3 y actualice ese resultado en el
> campo total.
> Ahora bien, hice el trigger q se dispara desde la misma tabla me crea un
> lazo infinito, cóm puedo resolver esto? o no debo hacer un n trigger q se
> dispare cuando hay un evento en la tabla X para realizar una acción en la
> misma tabla X?
>

apoyo la idea de la vista (los campos calculados no deberian existir a
menos que haya una buena razon).

sobre tu problema, no ejecutes otro insert ni un update, por eso se
dispara el trigger deberias tener un codigo algo asi:

create function fn_trg_calcula() returns trigger as $$
 begin
    new.total = new.campo1+new.campo2+new.campo3;
 end;
$$ language plpgsql;

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL

In response to

Responses

pgsql-es-ayuda by date

Next:From: Rodriguez FernandoDate: 2010-10-26 10:09:23
Subject: Re: Migración
Previous:From: Guillermo VillanuevaDate: 2010-10-26 02:58:34
Subject: Re: problema con trigger

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group