Re: Column Specific Update Trigger Routine
От | Plugge, Joe R. |
---|---|
Тема | Re: Column Specific Update Trigger Routine |
Дата | |
Msg-id | BD69807DAE0CE44CA00A8338D0FDD08302D2654152@oma00cexmbx03.corp.westworlds.com обсуждение исходный текст |
Ответ на | How to cascade information like the user roles ? (Andreas <maps.on@gmx.net>) |
Список | 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 по дате отправления: