我正在尝试创建一个触发器,以便systables_growth
在插入发生之前简单地从表中删除记录,基于date_added
列上使用的 where 子句用于超过一定天数(在本例中为 15 天)的记录:
我正在使用以下内容:
CREATE TRIGGER systables_growth_clnup
INSERT ON systables_growth
DELETE FROM systables_growth
WHERE date_added < (CURRENT - 15 UNITS DAY)
执行上述操作时出现以下语法错误。
CREATE TRIGGER systables_growth_clnup
INSERT ON systables_growth
DELETE FROM systables_growth
#^
# 201: A syntax error has occurred.
#
WHERE date_added < (CURRENT - 15 UNITS DAY)
如果您遵循CREATE TRIGGER的语法图,您会发现操作子句需要
BEFORE
,FOR EACH ROW
或AFTER
作为操作语句之前的前缀,并且触发的操作段显示您需要在触发的操作周围加上括号。因此: