Это довольно просто.
Первый шаг - создать лог c триггера. В этом примере удаляется строка из a
, если price = 0
. id = NEW.id
ограничивает это удаление только что измененной строкой.
create or replace function zero_price_delete()
returns trigger language plpgsql
as $$
begin
delete from a where price = 0 and id = NEW.id;
return new;
end; $$;
Затем назначьте это как after
триггер для A
после операций insert
или update
.
create trigger zero_delete
after update or insert on a
for each row
execute procedure zero_price_delete();