Triggers and Functions
От | Tom Allison |
---|---|
Тема | Triggers and Functions |
Дата | |
Msg-id | 4566E4AC.5060700@tacocat.net обсуждение исходный текст |
Ответы |
Re: Triggers and Functions
|
Список | pgsql-novice |
I would like to create a function/trigger which will update a timestamp on table A when an UPDATE is executed against table B I tried this: create table tokens ( token_idx BIGSERIAL PRIMARY KEY, token varchar(128) not null unique, last_seen timestamp default now() ) create table user_token ( user_idx integer not null references users(user_idx) on delete cascade on update cascade, token_idx bigint not null references tokens(token_idx) on delete cascade on update cascade, h_msgs integer default 0, s_msgs integer default 0, constraint pkey_user_token PRIMARY KEY (user_idx, token_idx) ) 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...
В списке pgsql-novice по дате отправления: