Postgresql легко обновить ошибка стека предел достигнут - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть супер простая таблица

id, записи, max_capacity, factor Итак, у нас есть максимальная емкость 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;

Где я обновляю записи в одной из строк и получаю ОШИБКУ в пределе глубины стека, превышенном CONTEXT update myTable ....

ПочемуЯ понял это?Должен ли я установить записи для всех строк, чтобы он работал?Я понятия не имею, почему это не работает.Я хочу после, потому что я не могу вычислить значение, прежде чем я вставил новые значения записей.

...