| From: | Jim Archer <jim(at)archer(dot)net> | 
|---|---|
| To: | pgsql-general(at)postgresql(dot)org | 
| Subject: | How to know a record has been updated, then reset the flag? | 
| Date: | 2004-11-18 05:53:47 | 
| Message-ID: | B3A7E140F40D9589D1AA2DCF@[192.168.3.50] | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Hi All...
I'm been fighting this problem for a few days now, and it seems like it 
should be simple.  But the solution has eluded me so far...
I need to flag a record when it is updated or when it is a new insert. 
Then I SELECT for the changed records and do something not related to 
Postgres.  Easy enough, I created a trigger procedure and fired it on 
INSERT OR UPDATE and modify NEW to set the flag field to true.
But then the problem is how do I reset the trigger?  If I do an UPDATE the 
trigger fires again.  I thought I could check for the flag field being NULL 
and that works for an INSERT, but apparently if it is an update NEW 
contains the existing value of the field.
I am trying to avoid modifying the cost the needs to set the flags (I can 
change the schema), but I have full control over the code that has to reset 
them.  Is there a way I can update a record without firing the trigger, or 
by bypassing it?  This is a multi-user environment, so I can't really drop 
the trigger and readd it.
Is there a solution not related to this?
I would appreciate some help, thanks very much!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Glaesemann | 2004-11-18 06:15:56 | Re: How to know a record has been updated, then reset the flag? | 
| Previous Message | Bill Harris | 2004-11-18 03:38:10 | Re: Moving from 7.x to 8.0beta4 with a backup |