【发布时间】:2014-03-12 12:38:43
【问题描述】:
我正在开发我的第一个触发器。当我在表上执行 INSERT 时,我想有条件地从其他表中删除行。
这是一个触发器:
CREATE OR REPLACE FUNCTION clear_seen_by()
RETURNS trigger AS
$BODY$
BEGIN
IF (OLD.popup = '1') THEN
DELETE FROM news_seen_by;
END IF;
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
调用者:
CREATE TRIGGER clear_seen_by
AFTER INSERT
ON news
FOR EACH STATEMENT
EXECUTE PROCEDURE clear_seen_by();
作为一个错误,我看到 NEW 或 OLD(如果我设计了触发器)没有声明/未知。问题出在哪里?
【问题讨论】:
标签: sql postgresql triggers conditional