-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_instancias_insc_cursada -- -- Retorna las instancias en las que esta inscripto un alumno para cursar. -- -- Recibe: f_instancias_insc_cursada(integer) -- 1. ID de la inscripcion a cursada -- Retorna: -- 1. Nombre de la/s instancias/s de la inscripcion a cursada -- Ejemplo: Regularizar / Promocionar -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_instancias_insc_cursada(integer); CREATE OR REPLACE FUNCTION f_instancias_insc_cursada(_inscripcion integer) RETURNS TEXT AS $BODY$ DECLARE cnt smallint; _retorno text; cur1 record; BEGIN cnt := 0; _retorno := NULL; -- Recupero el nombre de las modalidades de cursada FOR cur1 IN SELECT sga_instancias.nombre as nombre FROM vw_insc_cursada_instancias, sga_instancias WHERE vw_insc_cursada_instancias.inscripcion = _inscripcion AND vw_insc_cursada_instancias.instancia = sga_instancias.instancia LOOP IF cnt = 0 THEN _retorno := cur1.nombre; ELSE _retorno := _retorno || '/' || cur1.nombre; END IF; cnt := cnt + 1; END LOOP; RETURN _retorno; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; -- ++++++++++++++++++++++++++++++ Fin Function f_instancias_insc_cursada(integer) ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_instancias_insc_cursada (integer) FROM public; GRANT EXECUTE ON FUNCTION f_instancias_insc_cursada (integer) to public;