CREATE OR REPLACE FUNCTION process_sync_mng_external() RETURNS TRIGGER AS $$ DECLARE ext_data sync_mng_external%ROWTYPE; BEGIN SELECT * INTO ext_data FROM sync_mng_external WHERE target_cs = NEW.target_cs; IF NOT FOUND THEN RETURN NEW; END IF; IF ( NEW.last_mod_time < ext_data.last_mod_time ) AND NOT ( ext_data.zonerp_cs = 'NOCALL99' ) THEN NEW.arearp_cs := ext_data.arearp_cs; NEW.zonerp_cs := ext_data.zonerp_cs; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql;