I'm trying to set up a trigger that simply updates a
field's corresponding timestamp to now() whenever the
field is updated. But it's not working. Trying to
debug, I commented out the inner IF and END and the
log seemed to indicate infinite recursion occurred. My
next guess is that perhaps NULL's in OLD.stuff is
causing the IF to behave other than what I expect.
Thanks for any help!
CSN
CREATE or REPLACE function update_ts() returns trigger
as $end$
BEGIN
IF (TG_OP='UPDATE') THEN
IF (OLD.stuff != NEW.stuff) THEN
UPDATE table1
set stuff_ts=now()
where id=NEW.id;
END IF;
END IF;
RETURN NULL;
END;
$end$ language plpgsql;
CREATE TRIGGER update_ts AFTER UPDATE ON table1 FOR
EACH ROW EXECUTE PROCEDURE update_ts();
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com