CREATE OR REPLACE FUNCTION delete_product_changes() RETURNS TRIGGER LANGUAGE plpgsql AS $$ BEGIN -- Delete all changes associated with the product DELETE FROM change WHERE product_code = OLD.code; RETURN OLD; END; $$; CREATE TRIGGER trg_delete_product_changes BEFORE DELETE ON product FOR EACH ROW EXECUTE FUNCTION delete_product_changes();