ALTER TABLE ONLY global_disciplines DROP CONSTRAINT global_extid_key; ALTER TABLE ONLY global_disciplines ADD CONSTRAINT global_extid_semester_key UNIQUE (externalid, semesterid); CREATE OR REPLACE FUNCTION public.discipline_bindglobal(pdisciplineid integer, psemester integer, pdisciplinename character varying, pglobalid character varying) RETURNS integer LANGUAGE plpgsql AS $function$ declare vID int; begin INSERT INTO global_disciplines (disciplineid, semesterid, name, externalid) VALUES(pdisciplineid, psemester, pdisciplinename, pglobalid) returning id into vID; UPDATE disciplines SET isglobal=TRUE WHERE disciplines.id = pdisciplineid; RETURN vID; END; $function$;