create table fisk( name varchar primary key, autofisk varchar );
I want to update the column "autofisk" on commit based the value of "name", so I created this trigger:
CREATE OR REPLACE FUNCTION fisk_tf() returns TRIGGER AS $$ BEGIN raise notice 'name %', NEW.name; NEW.autofisk = NEW.name || CURRENT_TIMESTAMP::text; RETURN NEW; END; $$ LANGUAGE plpgsql;
CREATE CONSTRAINT TRIGGER fisk_t AFTER INSERT OR UPDATE ON fisk DEFERRABLE INITIALLY DEFERRED
It should be BEFORE INSERT OR UPDATE trigger
Regards
Pavel
FOR EACH ROW EXECUTE PROCEDURE fisk_tf();
The problem is that "autofisk" is never populated:
andreak=# begin; BEGIN andreak=# insert into fisk(name) values ('a'); INSERT 0 1 andreak=# commit; NOTICE: name a COMMIT andreak=# table fisk; name | autofisk ------+---------- a | (1 row)
Is it possible to do what I want, namely to update a column in a table in an AFTER INSERT OR UPDATE constraint trigger on the same table?