【发布时间】:2021-08-18 19:28:54
【问题描述】:
我正在尝试创建一个触发器,在每次插入表 A 后,将表 A 中的一列的平均值添加到表 B 中。
表A(id(整数),等级(整数))
表 B(id(序列),平均值(整数))
我的触发器是:
CREATE TRIGGER rat_trig
AFTER INSERT ON a
FOR EACH ROW EXECUTE PROCEDURE upd_rat_func();
我的触发函数如下所示:
CREATE OR REPLACE FUNCTION upd_rat_func() RETURNS TRIGGER as $rating_update$
BEGIN
INSERT INTO b VALUES (DEFAULT, AVG(rating) FROM a);
RETURN NEW;
END;
$rating_update$ language plpgsql;
Postgres 告诉我,我的函数在“from”附近或某处有错误,但我找不到让它工作的方法(尚未创建触发器,因为我无法创建函数)。非常欢迎任何帮助(或者任何关于我在哪里可以找到更多关于触发器函数结构的建议,因为 postgres 文档的帮助不大)。
【问题讨论】:
标签: sql postgresql triggers