-- Create sequence for sales order numbers CREATE SEQUENCE so_number_seq START WITH 1 INCREMENT BY 1; CREATE OR REPLACE FUNCTION generate_so_number() RETURNS VARCHAR AS $$ DECLARE next_val INTEGER; BEGIN next_val := nextval('so_number_seq'); RETURN 'SO-' || LPAD(next_val::TEXT, 5, '0'); END; $$ LANGUAGE plpgsql;