Re: funcionamiento diferente en triggers

From: Felipe de Jesús Molina Bravo <felipe(dot)molina(at)inegi(dot)gob(dot)mx>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: funcionamiento diferente en triggers
Date: 2007-01-31 14:53:01
Message-ID: 1170255182.7873.0.camel@fjmb
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchas gracias por la información ... lo que encuentre lo publicaré

Seguimos

El mié, 31-01-2007 a las 11:32 -0300, Alvaro Herrera escribió:
> Felipe de Jesús Molina Bravo escribió:
> > Una disculpa por el error. Va un copy/paste de los scripts. Al terminar
> > de ejecutar el script de abajo, ya tendran datos en la tabla de producto
> > y lugar. Si hacen un "update producto set us = '2' where idp=1"
> > provocará que se borren los registros de lugar y por lo tanto el
> > contador de producto se ponga en 0 .... y claro que el atributo "us" de
> > producto en '2'.....
>
> Creo que el problema es que la tupla que debe actualizarse en el UPDATE
> ya no existe cuando el trigger termina, puesto que le hiciste los varios
> UPDATES en el otro trigger. La solución a esto sería, como ya
> descubriste, poner esos DELETEs a "lugar" en un trigger AFTER, porque
> así el UPDATE en producto se haría antes que esos otros DELETEs invoquen
> al trigger que hace el UPDATE.
>
> Es posible que esto esté documentado, pero en este momento no tengo el
> tiempo de investigar el tema.
>
> BTW en esa funcion donde te dije que pusieras RETURN NEW en lugar de
> RETURN NULL, tienes razon que no tiene nada que ver con tu problema,
> pero es confuso; yo en su lugar pondria un RAISE EXCEPTION para que sea
> muy evidente lo que deseas que suceda.
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2007-01-31 15:00:43 Re: Borrado de base de datos
Previous Message Guido Barosio 2007-01-31 14:49:29 Re: No puedo descargar Postresql 8.2.1 desde ningún mirror