【发布时间】:2020-07-27 16:16:39
【问题描述】:
我正在尝试创建一个简单的触发器,该触发器将一行插入到朋友表中,并带有反转的值,所以当插入 (1,2) 时,也会插入 (2,1),但我不断收到此错误,我'不知道出了什么问题。
错误:超出堆栈深度限制 提示:在确保平台的堆栈深度限制足够之后,增加配置参数“max_stack_depth”(当前为 2048kB)。 CONTEXT:SQL语句“插入朋友(ID1,ID2)值(NEW.ID2,NEW.ID1)” SQL 语句中的 PL/pgSQL 函数friend_add() 第 2 行
CREATE OR REPLACE FUNCTION public.friend_add()
RETURNS trigger
LANGUAGE 'plpgsql'
VOLATILE
COST 100
AS $BODY$begin
insert into friend(ID1,ID2) values (NEW.ID2, NEW.ID1);
return new;
end
end;$BODY$;
CREATE TRIGGER friend_add
AFTER INSERT
ON public.friend
FOR EACH ROW
EXECUTE PROCEDURE public.friend_add();
这是我的函数和触发器定义。
【问题讨论】:
标签: postgresql triggers psql