RE: Problema con trigger

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Arcel Labrada Batista <alabradab(at)uci(dot)cu>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Problema con trigger
Date: 2011-12-16 19:13:13
Message-ID: 294D3D02D5E18D42827B2ECFEADEB688214E267E2E@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Arcel, muchas gracias por tu ayuda. El trigger solo se dispara mediante una actualización, no obstante ya resolví el problema. Todo parecía indicar que se disparaba dos veces debido a la operación sobre la relación de tipo SET NULL, y como el trigger está definido después de actualización for each row, pues ahí estaba el problema.

Saludos a todos.

De: Arcel Labrada Batista [mailto:alabradab(at)uci(dot)cu]
Enviado el: viernes, 16 de diciembre de 2011 02:01:PM
Para: Lazaro Rubén García Martinez
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Problema con trigger

el trigger deberías dispararlo solo con las inserciones, si lo tienes puesto para que se dispare con las inserciones y las actualizaciones pues es claro que realizará la operación dos veces, revisa y responde, además, cuando haces una pregunta deberías poner el código para ayudarnos a ver donde esta el problema, en este caso con el código de creación de trigger creo que se vería mucha mejor todo, Saludos,

Arcel
________________________________
De: "Lazaro Rubén García Martinez" <lgarciam(at)vnz(dot)uci(dot)cu>
Para: pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Jueves, 15 de Diciembre 2011 21:24:00
Asunto: [pgsql-es-ayuda] Problema con trigger
Hola a todos en la lista, estoy teniendo un problema con un trigger y quería saber si alguien me podría ayudar a solucionarlo.

Sucede que tengo una tabla que almacena un conjunto de trámites, y el trigger lo que hace es luego de realizar un update sobre dicha tabla, mover los datos de la tabla hacia una tabla histórica. A su vez dicha tabla posee una clave foránea y los datos de la tabla foránea son también llevados a historial y auto seguidamente se eliminan de esta tabla foránea, pero para evitar un error de integridad referencia, tengo una restricción del tipo ON DELETE SET NULL sobre la relación, pero sucede que los datos de la tabla tramite se almacenan dos veces en la tabla histórica y estoy al pensar que el ON DELETE SET NULL realiza un update sobre la tabla tramite ocasionando que el disparador se ejecute dos veces en la misma transacción. Si pudieron comprender mi situación, me podrían aconsejar sobre como solventar este problema???

Saludos y muchas gracias a todos por su tiempo.

[http://cincoheroes.uci.cu/cinco.gif]
<http://www.antiterroristas.cu/>

[http://cincoheroes.uci.cu/cinco.gif]<http://www.antiterroristas.cu/>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rodrigo Gonzalez 2011-12-16 19:20:51 Re: Curso Postgres y Postgis
Previous Message ruben avila galindo 2011-12-16 19:12:53 Re: Curso Postgres y Postgis