PostgreSQL轻松更新堆栈限制达到错误

时间:2018-09-22 19:50:46

标签: sql psql database-trigger

我有一个超级简单的桌子

id,条目,最大容量,因子 因此,我们有500个最大容量和250个条目,应该是50个(已满50%)容易吗? 问题是当我更新条目时,我也希望因子也自动更新,因此我已经完成了该功能:

create function myUp() returns trigger as $$
begin
update myTable
set factor=round(100*(entries/max_capacity),0);
end;
$$ language plpgsql;

和触发器

create trigger myUp 
after insert or update on myTable
for each row
execute procedure myUp();

我得到了一个新的触发功能并运行了一个更新示例

update myTable
set entries=500
where id=1;

我在其中一行中的条目进行更新的地方,并且得到了错误堆栈深度限制超出了上下文更新myTable。...

我为什么要得到这个?我是否必须为所有行设置条目才能起作用?我不知道为什么它不起作用。我想要之后的内容,因为在插入新条目值之前我无法计算该值。

0 个答案:

没有答案