【发布时间】:2020-04-13 01:31:21
【问题描述】:
我试图在另一个物化视图上插入、更新或删除后触发物化视图的刷新。我正在尝试使用触发功能来实现这一点。脚本如下;
CREATE FUNCTION aza_ods_version1.populate_fact_churn_m()
RETURNS TRIGGER AS $$
BEGIN
REFRESH MATERIALIZED VIEW aza_ods_version1.fact_churn_monthly;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER refresh_fact_churn_monthly
AFTER INSERT OR UPDATE OR DELETE OR TRUNCATE
ON aza_ods_version1.fact_transactions
FOR EACH ROW
WHEN (OLD.* IS DISTINCT FROM NEW.*)
EXECUTE PROCEDURE aza_ods_version1.populate_fact_churn_m();
在尝试创建触发器时,我收到此错误; 错误:“fact_transactions”不是表或视图 SQL 状态:42809
我认为这是因为 fact_transactions 是物化视图,而不是视图或表。 有什么方法可以实现我想要的吗??
【问题讨论】:
标签: postgresql triggers