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:[email protected]]
Enviado el: viernes, 16 de diciembre de 2011 02:01:PM
Para: Lazaro Rubén García Martinez
CC: [email protected]
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" <[email protected]>
Para: [email protected]
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/>

Responder a