Я пытаюсь создать триггер и процедуру для обновления столбца last_changed_timestamp
после UPDATE и INSERT.
Я могу зарегистрировать функцию и триггер просто отлично, но когда я пытаюсь обновить запись, я получаюошибка.
CREATE OR REPLACE FUNCTION update_my_table_last_changed_timestamp()
RETURNS trigger AS
$BODY$
BEGIN
UPDATE my_table SET NEW.last_changed_timestamp = NOW();
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER trigger_update_my_table_last_changed_timestamp
BEFORE UPDATE
ON my_table
FOR EACH ROW
EXECUTE PROCEDURE update_my_table_last_changed_timestamp();
column "new" of relation "my_table" does not exist
Я также не до конца понимаю, как update_my_table_last_changed_timestamp
знает, какую строку предполагается обновить, и не было ли переданных ей параметров, какЯ бы получил эти переменные из триггера в процедуру.