I am in the process of converting trigger code written in Progress 4GL to
PostgreSQL triggers written in pl/pgsql. I have some Progress code in a
delete trigger that fires on the deletion of a money line item. In Progress,
I was setting the amount column to 0 in the delete trigger, which, in the
Progress world, caused one of the write triggers to fire before the delete
occured. The code to adjust balances in several places was already
implemented in that write trigger, so setting the amount to zero in the
delete trigger worked nicely; however, PostgreSQL doesn't behave that way.
I'm setting old.amount to zero in a BEFORE DELETE trigger, but it doesn't do
anything in terms of firing another trigger that operates directly on amount
during an update operation. I can work around this so the focus of my
question is this: What would be the circumstances in which you would want to
have a trigger that fires BEFORE the delete as opposed to AFTER the delete? I
searched the documentation but didn't find anything that discussed the
differences between the two trigger types; that is, before and after delete
Thanks for any input you can give...