-- -- workflow_case__add_manual_assignment/3 -- create or replace function workflow_case__add_manual_assignment( integer, character varying, integer ) returns int4 as $$ declare add_manual_assignment__case_id alias for $1; add_manual_assignment__role_key alias for $2; add_manual_assignment__party_id alias for $3; v_workflow_key varchar; v_num_rows integer; begin select count(*) into v_num_rows from wf_case_assignments where case_id = add_manual_assignment__case_id and role_key = add_manual_assignment__role_key and party_id = add_manual_assignment__party_id; if v_num_rows = 0 then select workflow_key into v_workflow_key from wf_cases where case_id = add_manual_assignment__case_id; insert into wf_case_assignments ( case_id, workflow_key, role_key, party_id ) values ( add_manual_assignment__case_id, v_workflow_key, add_manual_assignment__role_key, add_manual_assignment__party_id ); end if; return 0; end;$$ language plpgsql;