From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Aldo Quezada" <huincha(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: pequeña ayuda con triggers y functions |
Date: | 2008-05-20 03:00:39 |
Message-ID: | c2d9e70e0805192000i67dedf95ra272600bdec799c5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2008/5/19 Aldo Quezada <huincha(at)gmail(dot)com>:
> OK
>
> a ver..
>
> tengo una tabla a la cual se le hacen actualizaciones por php.. el codigo
> del php es un asco por desorden del codigo.
> por lo cual preferi buscar una solucion por haciendo un trigger y una
> funcion, que cada vez que se actualizara esta tabla, lanzara el trigger para
> actualizar un campo de esta misma tabla, pero caigo en la redundancia
> ciclica.
>
Corrigeme si me equivoco, tu problema es asi:
UPDATE tabla1
-> se ejecuta TRIGGER
-> dentro del trigger ejecutas otro UPDATE tabla1
-> Se ejecuta nuevamente el TRIGGER y vuelves al paso anterior
Eso es porque dentro del TRIGGER no debes (ni necesitas) hacer un
UPDATE a la misma tabla al mismo registro... dentro del TRIGGER tienes
disponible el record NEW que hace referencia al registro que se esta
actualizando. Todo lo que debes hacer es definir el TRIGGER como
BEFORE UPDATE y actualizar el campo en el registro NEW (NEW.campo) en
lugar de hacer un UPDATE
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 087171157
From | Date | Subject | |
---|---|---|---|
Next Message | Guido Barosio | 2008-05-20 03:45:45 | Algunos datos sobre PostgreSQL |
Previous Message | Calabaza | 2008-05-20 02:24:20 | Re: Re: pequeña ayuda con triggers y functions |