Re: Evitar que se ejecute un trigger on update

From: "Carlos Beltrán V(dot)" <cbeltran(at)roldan(dot)net>
To: el-PRiNCiPiTo <el-PRiNCiPiTo(at)terra(dot)es>, ListaPostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Evitar que se ejecute un trigger on update
Date: 2008-09-18 13:00:38
Message-ID: 48D250F6.3050508@roldan.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

el-PRiNCiPiTo wrote:
> Hola.
> Tengo un trigger creado que se ejecuta al hacer un update en la
> tabla. El caso es que ahora se da una situación en la que la tabla
> puede recibir actualizaciones y dicho trigger no es necesario que se
> ejecute (si se ejecuta altera el update que pretendemos hacer
> resultando inútil). Así que para no tener que modificar el trigger que
> es bastante complejo se me ha ocurrido que a lo mejor hay alguna forma
> para hacer el update avisándole que quiero que ignore los posibles
> triggers que haya, ¿eso sería posible?
> Si no existe nada así se me ha ocurrido añadir a la tabla un campo
> más y meter todo el trigger en un if que evalúe ese campo algo así:
>
> if new.notriger false then
> el trigger que hay ahora
> else
> nada
> end if
> new.notriger = true --para que en el siguiente update ya lo trate
> normal
>
> Así cuando no quiera que use el trigger haría el update como
> necesite y además notrigger = true
> y si quiero que se ejecute no actualizo el campo notrigger que por
> defecto sería false.
> ¿Os parece una solución viable??
>
> Muchas gracias

Bueno yo tuve la misma situación cuando montamos la réplica y
sincronización de nuestro grid (hace ya algún tiempo y sigue ok). Favor
consultar el siguiente link.
http://archives.postgresql.org/pgsql-es-ayuda/2004-11/msg00454.php

Buena suerte con tu implementación.

Carlos.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Grover Navia 2008-09-18 13:41:51 Re:Problemas con los Esquemas
Previous Message Edwin Quijada 2008-09-18 02:30:42 RE: ¿Como Se puede Pedir Ayuda en PGsql-es-ayuda?