सबसे पहले आपको पहले . की आवश्यकता है यदि आप अद्यतन (या सम्मिलित) पंक्ति के मान को बदलना चाहते हैं तो ट्रिगर करें
दूसरे आपको तालिका को "अपडेट" करने की आवश्यकता नहीं है, बस नई पंक्ति को नया मान निर्दिष्ट करें:
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();