我正在尝试函数并触发int postgresql,但是我遇到了问题,当函数被触发时它给了我一个错误
错误:控制在没有RETURN的情况下达到了触发程序的结束
这个特殊的过程只是执行插入命令,所以我不明白为什么它需要返回
这是脚本:
CREATE OR REPLACE FUNCTION forest_aud_func() returns trigger as $tree_stamp$ BEGIN insert into Audit values('k',124,'l'); END; $tree_stamp$ LANGUAGE plpgsql; create trigger forest_aud_ins after insert on forest for each row execute procedure forest_aud_func() insert into forest values('Blue',1600,'Malta','Health Ltd')
错误消息告诉您所有.您需要从触发器功能执行RETURN:
CREATE OR REPLACE FUNCTION forest_aud_func() returns trigger as $tree_stamp$ BEGIN insert into Audit values('k','l'); return new; END; $tree_stamp$ LANGUAGE plpgsql;
从the manual开始:
触发器函数必须返回NULL或具有与触发器触发的表的结构完全相同的记录/行值.