-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_docentes_mesa_examen -- -- Retorna los docents (apellido y nombre) asignados a la mesa de examen en el llamado -- -- Recibe: f_docentes_mesa_examen(integer) -- 1. ID de la mesa de examen en un llamado -- Retorna: -- 1. Nombres de los docentes asignados a la mesa en el llamado -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_docentes_mesa_examen(integer); CREATE OR REPLACE FUNCTION f_docentes_mesa_examen(_llamado_mesa INTEGER) RETURNS TEXT AS $BODY$ DECLARE cnt smallint; _docentes text; cur1 record; BEGIN cnt := 0; _docentes := NULL; -- Recupero el nombre de los docentes FOR cur1 IN SELECT mdp_personas.apellido as apellido, mdp_personas.nombres as nombre FROM sga_docentes_mesa_llamado, sga_docentes, mdp_personas WHERE sga_docentes_mesa_llamado.llamado_mesa = _llamado_mesa AND sga_docentes.docente = sga_docentes_mesa_llamado.docente AND mdp_personas.persona = sga_docentes.persona LOOP IF cnt = 0 THEN _docentes := cur1.apellido || ' ' || cur1.nombre; ELSE _docentes := _docentes || ', ' || cur1.apellido || ' ' || cur1.nombre; END IF; cnt := cnt + 1; END LOOP; RETURN _docentes; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; -- ++++++++++++++++++++++++++++++ Fin Function f_docentes_mesa_examen(integer) ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_docentes_mesa_examen (integer) FROM public; GRANT EXECUTE ON FUNCTION f_docentes_mesa_examen (integer) to public;