DROP FUNCTION IF EXISTS public.deletemodulebonus(pteacherid integer, pdisciplineid integer); CREATE OR REPLACE FUNCTION public.deletemodulebonus(pteacherid integer, pdisciplineid integer) RETURNS integer LANGUAGE plpgsql AS $function$ DECLARE vBonusModuleID INT DEFAULT -1; begin -- select public.deletemodulebonus( -- :pteacherid, -- put the pteacherid parameter value instead of 'pteacherid' (int4) -- :pdisciplineid -- put the pdisciplineid parameter value instead of 'pdisciplineid' (int4) --); select * from GetBonusModule(pDisciplineID) into vBonusModuleID; CASE WHEN NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR InternalIsMapLocked(pDisciplineID) THEN RETURN -1; else null; END CASE; CASE WHEN vBonusModuleID <= 0 THEN RETURN -1; else null; END CASE; DELETE FROM submodules WHERE vBonusModuleID = submodules.ModuleID; DELETE FROM modules WHERE vBonusModuleID = modules.ID; --LIMIT 1; RETURN 0; END $function$;