declare map record; begin if new.member_state = old.member_state then return new; end if; for map in select group_id, element_id, rel_type from group_element_index where rel_id = new.rel_id loop if new.member_state = 'approved' then perform party_approved_member__add(map.group_id, map.element_id, new.rel_id, map.rel_type); else perform party_approved_member__remove(map.group_id, map.element_id, new.rel_id, map.rel_type); end if; end loop; return new; end;