7
我想出来的功能,并触发INT PostgreSQL的,但我有一个问题,当功能被触发它给我一个错误PostgreSQL的功能,并触发
错误:控制达到触发程序的结束而无需返回
这个特定的程序只执行插入操作的命令,所以我不明白为什么它需要返回
这是脚本:
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')
好的,谢谢,按照你的说法,现在它给了我这个错误:错误:重复键值违反唯一约束“audit_pk” 细节:键(au_code)=(124)已经存在。 我在桌子上笑了,还没有124桌 有什么想法吗? – Karl 2012-01-10 15:34:21
发生此错误时您要提交什么交易? – Kuberchaun 2012-01-10 15:42:46
@Karl:显然你在插入审计值时违反了'audit'表的主键。这个问题与编写触发器无关。 – 2012-01-10 15:43:42