-- -- workflow__add_place/4 -- create or replace function workflow__add_place( character varying, character varying, character varying, integer ) returns int4 as $$ declare add_place__workflow_key alias for $1; add_place__place_key alias for $2; add_place__place_name alias for $3; add_place__sort_order alias for $4; v_sort_order integer; begin if add_place__sort_order is null then select coalesce(max(sort_order)+1, 1) into v_sort_order from wf_places where workflow_key = add_place__workflow_key; else v_sort_order := add_place__sort_order; end if; insert into wf_places (workflow_key, place_key, place_name, sort_order) values (add_place__workflow_key, add_place__place_key,add_place__place_name, add_place__sort_order); return 0; end;$$ language plpgsql;