创建触发器更新

时间:2018-11-24 16:45:12

标签: postgresql

创建一个触发器,当将数据插入到builds_result表中时,该触发器会自动将apps表的updated_time字段的值更新为当前日期和时间。在apps.updated_time上给出了错误

create trigger upd after insert on builds_result for each row execute procedure new apps.updated_time = now();

1 个答案:

答案 0 :(得分:0)

这里是如何设置触发器的简要概述。

首先创建触发函数:

CREATE OR REPLACE FUNCTION my_trigger_function()
    RETURNS TRIGGER AS
$BODY$
BEGIN
    UPDATE apps
    SET updated_time = NOW();

    RETURN NEW;
END
$BODY$
    LANGUAGE plpgsql;

这非常简单,只需更新表(注意它将更新所有记录,这仅仅是因为您尚未说明应更新哪个特定记录)并返回NEW,这是已插入的记录在builds_result中。

然后,您在builds_result表上创建一个触发器以执行此功能:

CREATE TRIGGER upd
    AFTER INSERT ON builds_result
    FOR EACH ROW
    EXECUTE PROCEDURE my_trigger_function();

就是这样。现在,每次在builds_result表中插入一行时,都会调用该触发函数。