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;
- The command above, does not insert the last_seq into users.code column. And I don't know why.
If I comment the line: ELSEIF NEW.code IS NULL THEN, the data is inserted into the users.code column.
But as the customer can add data into that column, I only insert the last_seq if he/she didn't insert anything.
So I need that ELSEIF NEW.code IS NULL THEN.
- What am I missing?
Thanks
Lucas