-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- SIU-GUARANI 3 -- Version 3.0.0 -- Function: f_criterio_cursa_otra_prop() -- Verifica si la persona esta cursando otra propuesta en la institución -- -- Recibe: -- 1.- Id de la Persona. -- 2.- Id de la Propuesta -- Retorna: Integer: 0 - Cursa otra propuesta / 1 - NO cursa otra propuesta -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP FUNCTION f_criterio_cursa_otra_prop(integer, integer); CREATE OR REPLACE FUNCTION f_criterio_cursa_otra_prop(_persona integer, _propuesta integer) RETURNS integer AS $BODY$ -- Variables locales DECLARE _cnt integer; BEGIN _cnt := 1; -- no cursa otra propuesta SELECT COUNT(*) INTO _cnt FROM sga_alumnos WHERE persona = _persona AND propuesta <> _propuesta AND calidad = 'A'; IF _cnt > 0 THEN -- Cursa al menos otra propuesta (Alumno Activo) RETURN 0; ELSE -- No cursa otra propuesta RETURN 1; END IF; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; -- ++++++++++++++++++++++++++++++ Fin Function f_criterio_cursa_otra_prop ++++++++++++++++ -- REVOKE EXECUTE ON FUNCTION f_criterio_cursa_otra_prop (integer, integer) FROM public; GRANT EXECUTE ON FUNCTION f_criterio_cursa_otra_prop(integer, integer) TO public;