我正在尝试在Postgres中创建一个函数。出于某种原因,当我从查询工具中运行查询时,查询效果很好。将查询添加到函数中后,出现错误
错误:“删除”处或附近的语法错误
不确定是什么问题。
CREATE FUNCTION public.remove_email_header()
RETURNS pg_trigger
LANGUAGE 'plpgsql'
AS $BODY$
DELETE FROM public.spam_dictionary WHERE words LIKE '%FROM%';
$BODY$;
ALTER FUNCTION public.remove_email_header()
OWNER TO postgres;
答案 0 :(得分:1)
需要注意的两件事。
plpgsql Postgres函数使用BEGIN END
不应将plpgsql引起来。
CREATE FUNCTION remove_email_header()
RETURNS trigger
LANGUAGE plpgsql
AS $BODY$
BEGIN
DELETE FROM public.spam_dictionary WHERE words LIKE '%FROM%';
END
$BODY$;