Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/06/2013, 22:29
k0m3t4
 
Fecha de Ingreso: junio-2013
Mensajes: 16
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema con cursor en pl/sql

creo que ya implementando lo que tengo que hacer el codigo seria algo así :

Código SQL:
Ver original
  1. SET serveroutput ON
  2. DECLARE
  3.  
  4. pais countries.country_name%TYPE:='&pais';
  5. t_empleados NUMBER :=0;
  6.  
  7. cursor empleados_cursor IS
  8. SELECT COUNT (DISTINCT employee_id)
  9. FROM employees E, departments D, locations L, countries F
  10. WHERE E.department_id = D.department_id
  11.       AND D.location_id = L.location_id
  12.       AND L.country_id = F.country_id
  13.       AND UPPER(F.Country_name) = UPPER(pais);
  14. BEGIN
  15.  
  16. dbms_output.put_line('                    EMPLEADO POR PAISES                     ');
  17. dbms_output.put_line('============================================================');
  18.  
  19. OPEN empleados_cursor;
  20.   loop
  21.     fetch empleados_cursor
  22.       INTO t_empleados;
  23.       exit WHEN empleados_cursor%notfound;
  24.       IF (t_empleados < 10 ) THEN
  25.         dbms_output.put_line(RPAD('CANTIDAD EMPLEADOS',25)||RPAD('PAIS',15)||RPAD('CATEGORIA',20) );
  26.         dbms_output.put_line('============================================================');
  27.         dbms_output.put_line(RPAD(t_empleados,25)||RPAD(UPPER(pais),15)||RPAD('PEQUEÑA SUCURSAL',20) );
  28.       ELSE
  29.         dbms_output.put_line(RPAD('CANTIDAD EMPLEADOS',25)||RPAD('PAIS',15)||RPAD('CATEGORIA',20) );
  30.         dbms_output.put_line('============================================================');
  31.         dbms_output.put_line(RPAD(t_empleados,25)||RPAD(UPPER(pais),15)||RPAD('GRAN SUCURSAL',20) );
  32.       END IF;
  33.   END loop;
  34. close empleados_cursor;
  35. END;

Ahora creo que solo me queda que me muestre todas las sucursales con empleados de una y no solo buscar una en especifico ;)

Última edición por gnzsoloyo; 06/06/2013 a las 06:57 Razón: Mal etiquetado. Usar Highligt "SQL"