1
我正在试验postgreSQL中的触发器,但是由于某种原因我想做两次触发器插入操作(这是使用FOR EACH ROW),当我将其更改为FOR每个陈述它执行插入3次。这是我的SQL脚本PostgreSQL触发函数执行多次
CREATE OR REPLACE FUNCTION forest_aud_func() returns trigger as $tree_stamp$
BEGIN
insert into Audit values('k',124,'l');
return null;
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,'Austria','Health Ltd')
任何想法为什么会发生这种情况? 感谢
你应该**不**从你的触发器返回null。这将停止处理插入! – 2012-01-11 12:27:00
它仍然为我插入返回null,我不认为它的问题,或者你的意思是别的吗? – Karl 2012-01-11 12:38:01
这很奇怪,因为手册明确指出,如果触发器返回null,插入(在你的情况下插入到'forest'中)将被中止。 – 2012-01-11 13:09:53