Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql General > Re: Is this pos...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 8 Topic 15474 of 17437
Post > Topic >>

Re: Is this possible in a trigger?

by xzilla@[EMAIL PROTECTED] (Robert Treat) May 7, 2008 at 01:12 AM

On Tuesday 06 May 2008 20:10:50 Klint Gore wrote:
> Fernando wrote:
> > I want to keep a history of changes on a field in a table.  This will
> > be the case in multiple tables.
> >
> > Can I create a trigger that loops the OLD and NEW values and compares
> > the values and if they are different creates a change string as
follows:
> >
> > e.g;
> >
> > FOR EACH field IN NEW
> >     IF field.value <> OLD.field.name THEN
> >        changes := changes
> >
> >             || field.name
> >             || ' was: '
> >             || OLD.field.value
> >             || ' now is: '
> >             || field.value
> >             || '\n\r';
> >
> >     END IF
> > END FOR;
> >
> > Your help is really appreciated.
>
> You can't in plpgsql.  It doesn't have the equivalent of a walkable
> fields collection.  Its possible in some other procedure languages (I've
> seen it done in C).
>

I did it once by setting up the function to accept the tablename and ctid
of 
the row involved, and then grabbing the info from the system tables. 
Certainly easier to do it in plperl though. 

-- 
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

-- 
Sent via pgsql-general mailing list (pgsql-general@[EMAIL PROTECTED]
)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
 




 8 Posts in Topic:
Is this possible in a trigger?
fernando@[EMAIL PROTECTED  2008-05-06 17:05:37 
Re: Is this possible in a trigger?
kgore4@[EMAIL PROTECTED]   2008-05-07 10:10:50 
Re: Is this possible in a trigger?
kreno@[EMAIL PROTECTED]   2008-05-06 19:13:29 
Re: Is this possible in a trigger?
xzilla@[EMAIL PROTECTED]   2008-05-07 01:12:25 
Re: Is this possible in a trigger?
fernando@[EMAIL PROTECTED  2008-05-07 09:37:21 
Re: Is this possible in a trigger?
kreno@[EMAIL PROTECTED]   2008-05-07 08:16:01 
Re: Is this possible in a trigger?
depesz@[EMAIL PROTECTED]   2008-05-07 13:01:35 
Re: Is this possible in a trigger?
valgog <valgog@[EMAIL   2008-05-07 04:04:21 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 13:01:38 CST 2008.