Re: Triggers and Functions

From: Tom Allison <tom(at)tacocat(dot)net>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: Triggers and Functions
Date: 2006-11-24 16:42:34
Message-ID: 456720FA.8070300@tacocat.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

A. Kretschmer wrote:
> am Fri, dem 24.11.2006, um 7:25:16 -0500 mailte Tom Allison folgendes:
>> I would like to create a function/trigger which will update a timestamp on
>> table A when an UPDATE is executed against table B
>> CREATE FUNCTION update_token(bigint) RETURNS void AS '
>> UPDATE tokens SET last_seen = now()
>> WHERE token_idx = $1 and last_seen < now();
>> ' LANGUAGE SQL
>>
>>
>> CREATE TRIGGER touch_token AFTER UPDATE ON user_token FOR EACH ROW
>> EXECUTE PROCEDURE update_token(token_idx)
>>
>>
>> But it doesn't seem to change the filed 'last_seen' on the tokens table...
>
> I think, you should better create a RULE like this:
>
> create rule update_rule as on update to user_token do also update tokens set last_seen = now() where token_idx = NEW.token_idx;
>
> Andreas

This works perfectly.

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Richard Broersma Jr 2006-11-24 17:40:06 Re: Data (Table) Structure Question
Previous Message Brandon Aiken 2006-11-24 16:35:54 Re: Data (Table) Structure Question