Re: Column Specific Update Trigger Routine - Mailing list pgsql-sql

From Plugge, Joe R.
Subject Re: Column Specific Update Trigger Routine
Date
Msg-id BD69807DAE0CE44CA00A8338D0FDD08302D2654152@oma00cexmbx03.corp.westworlds.com
Whole thread Raw
In response to How to cascade information like the user roles ?  (Andreas <maps.on@gmx.net>)
List pgsql-sql

Nevermind all, I figured it out ….

 

Thanks Dmitriy …

 

From: Dmitriy Igrishin [mailto:dmitigr@gmail.com]
Sent: Thursday, May 06, 2010 3:25 PM
To: Plugge, Joe R.
Subject: Re: [SQL] Column Specific Update Trigger Routine

 

Hey Plugge,

You dont need to pass OLD.* or NEW.* to the trigger function.
These structures available from within trigger function.
Note, that in PostgreSQL 9 you will able to create trigger
which call function only when some column of the table
affected.

Regards,
Dmitriy

2010/5/7 Plugge, Joe R. <JRPlugge@west.com>

I am trying to create a update trigger on a table that basically will only fire when a specific column is updated.  I am using version 8.4.3.

 

My plan of attack was to always fire on any row update, and pass in the OLD and NEW column that I want to check.

 

CREATE TRIGGER check_lockout

    AFTER UPDATE ON acct_table

    FOR EACH ROW

    EXECUTE PROCEDURE acct_unlock(OLD.userid,OLD.ownerid,OLD.password,NEW.password);

 

 

This fails with :

 

[postgres@linux1505 ~]$ cat check_lockout_trig.sql | psql testdb

ERROR:  syntax error at or near "OLD"

LINE 4:     EXECUTE PROCEDURE acct_unlock(OLD.userid,OLD.ownerid,OLD.password,NEW.password);

 

 

What am I doing wrong? Or is there a better way to go about this?

                                          

 

 

 

pgsql-sql by date:

Previous
From: "Plugge, Joe R."
Date:
Subject: Column Specific Update Trigger Routine
Next
From: Justin Graf
Date:
Subject: Re: Column Specific Update Trigger Routine