PostgreSQL函数和触发器

我正在尝试函数并触发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',124,'l');
    return new;
END;
$tree_stamp$
LANGUAGE plpgsql;

the manual开始:

触发器函数必须返回NULL或具有与触发器触发的表的结构完全相同的记录/行值.

相关文章
相关标签/搜索