-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_modalidad_cursada_examen -- -- Retorna el nombre de las modalidades de cursadas definidas en la mesa de examen. -- -- Recibe: f_modalidad_cursada_examen(integer) -- 1. ID de la mesa de examen -- Retorna: -- 1. Nombre de la/s modalidad/es de cursada definidas en la mesa de examen. -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_modalidad_cursada_examen(integer); CREATE OR REPLACE FUNCTION f_modalidad_cursada_examen(_mesa_examen INTEGER) RETURNS TEXT AS $BODY$ DECLARE cnt smallint; modalidad_cursada text; cur1 record; BEGIN cnt := 0; modalidad_cursada := NULL; -- Recupero el nombre de las modalidades de cursada FOR cur1 IN SELECT sga_modalidad_cursada.nombre as nombre FROM sga_mesas_examen_modalidad, sga_modalidad_cursada WHERE sga_mesas_examen_modalidad.mesa_examen = _mesa_examen AND sga_mesas_examen_modalidad.modalidad = sga_modalidad_cursada.modalidad LOOP IF cnt = 0 THEN modalidad_cursada := cur1.nombre; ELSE modalidad_cursada := modalidad_cursada || '/' || cur1.nombre; END IF; cnt := cnt + 1; END LOOP; RETURN modalidad_cursada; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; -- ++++++++++++++++++++++++++++++ Fin Function f_modalidad_cursada_examen(integer) ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_modalidad_cursada_examen (integer) FROM public; GRANT EXECUTE ON FUNCTION f_modalidad_cursada_examen (integer) to public; /* select * from f_modalidad_cursada_examen(28541); */