-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_horario_comision -- -- Retorna los dias y horarios de las bandas horarias asignadas a una comision -- -- Recibe: f_horario_comision(integer) -- 1. Comision -- Retorna: -- 1. Dias y Horarios de las asignacions de la comision -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_horario_comision(integer); CREATE OR REPLACE FUNCTION f_horario_comision(pComision Integer) RETURNS text AS $BODY$ DECLARE _horario text; i smallint; cur_bh record; BEGIN _horario := ''; i := 0; FOR cur_bh IN ( SELECT sga_asignaciones.dia_semana as dia_semana, to_char(sga_asignaciones.hora_inicio, 'HH24:MI') as inicio, to_char(sga_asignaciones.hora_finalizacion, 'HH24:MI') as fin FROM sga_comisiones_bh, sga_asignaciones WHERE sga_comisiones_bh.comision = pComision AND sga_asignaciones.asignacion = sga_comisiones_bh.asignacion ) LOOP IF i > 0 THEN _horario := _horario || ' - ' ; END IF; _horario := _horario || substring(cur_bh.dia_semana from 1 for 3) || ' ' || cur_bh.inicio || ' a ' || cur_bh.fin; i := i + 1; END LOOP; -- Retorno los dias y horarios de la subcomision RETURN _horario; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; -- ++++++++++++++++++++++++++++++ Fin Function f_horario_comision ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_horario_comision (integer) FROM public; GRANT EXECUTE ON FUNCTION f_horario_comision (integer) to public;