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