-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_instancias_comision -- -- Retorna las instancias definidas para una comision -- -- Recibe: f_instancias_comision(integer) -- 1. ID de la comision -- Retorna: -- 1. Nombre de la/s instancias/s de la comision -- Ejemplo: Regular / Libre -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_instancias_comision(integer); CREATE OR REPLACE FUNCTION f_instancias_comision(_comision 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 sga_comisiones_instancias, sga_instancias WHERE sga_comisiones_instancias.comision = _comision AND sga_comisiones_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_comision(integer) ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_instancias_comision (integer) FROM public; GRANT EXECUTE ON FUNCTION f_instancias_comision (integer) to public; /* select * from f_instancias_comision(28541); */