CREATE OR REPLACE FUNCTION users_code_seq() RETURNS "trigger" AS $$BEGIN IF (TG_OP = 'INSERT') THEN UPDATE public.company_seqs SET last_seq = (last_seq + 1) WHERE company_id = NEW.company_id; ELSEIF NEW.code IS NULL THEN SELECT last_seq INTO code FROM public.company_seqs WHERE company_id = NEW.company_id ORDER BY last_seq DESC; END IF; RETURN NEW; END;$$ LANGUAGE plpgsql;
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных