AFTER UPDATE ?
CREATE TABLE users
(
name VARCHAR(32) PRIMARY KEY,
password CHAR(60),
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE
);
CREATE OR REPLACE FUNCTION users_updated_at()
RETURNS TRIGGER
LANGUAGE PLPGSQL
AS
$$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$;
CREATE TRIGGER user_updated
BEFORE UPDATE
ON users
FOR EACH ROW
WHEN (OLD.* IS DISTINCT FROM NEW.*)
EXECUTE PROCEDURE users_updated_at();
вариант с BEFORE UPDATE работает
а разве AFTER вообще может менять значения в текущей query ?
я не знаю, в документации не нашел ответа
ЕМНИП, так можно делать только в BEFORE %)
Обсуждают сегодня