Trước hết, bạn cần trước kích hoạt nếu bạn muốn thay đổi giá trị của hàng đang được cập nhật (hoặc được chèn)
Thứ hai, bạn không cần phải "cập nhật" bảng, chỉ cần gán giá trị mới cho hàng MỚI:
create or replace function pardota_masina_veikals()
RETURNS trigger
AS
$pardota_masina$
begin
IF NEW.sold=true THEN
NEW.id_shop = NULL;
END IF;
RETURN NEW;
END;
$pardota_masina$
LANGUAGE plpgsql;
CREATE TRIGGER pardota_masina_nevar_but_veikala
BEFORE INSERT OR UPDATE ON masinas
FOR EACH ROW EXECUTE PROCEDURE pardota_masina_veikals();