Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/11/2013, 15:02
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 3 meses
Puntos: 214
Respuesta: PL/PGSQL Funcion contar valores con FOR pasando parámetros

<saludos>
Uhm, pues creo que te estas enredando en algunas cosas (aunque para estar primerizo no estás tan perdido, yo en mis inicios estaba más bloqueado en eso!), porque el loop que agregas es para ir realizando un ciclo, es decir, que sería genial si necesitas recorrer oficina por oficina, pero el caso es que necesitas es obtener la cantidad de empleados filtrados por una oficina, en cuyo caso creo que lo mejor es lo siguiente (querys de prueba, debes cambiarlos a tus tablas)

Propongo simplificar la función de este modo

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION compempleados (cuentaoficinas INTEGER)
  2. RETURNS INTEGER AS
  3. $BODY$
  4. DECLARE
  5. numempleados INTEGER;
  6. BEGIN
  7. numempleados = 0;
  8. IF cuentaoficinas > 0 THEN
  9.     SELECT COUNT(id) FROM empleados WHERE idof = cuentaoficinas INTO numempleados;
  10. ELSE
  11.     SELECT COUNT(id) FROM empleados INTO numempleados;
  12. END IF;
  13. RETURN numempleados;
  14. END;$BODY$
  15. LANGUAGE plpgsql VOLATILE

</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 07/02/2014 a las 12:40