Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/10/2012, 17:20
Avatar de Inicia
Inicia
 
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Cursor PL/SQL

Lo intente así:

Código PL/SQL:
Ver original
  1. PROCEDURE  "DesbalanceDiarioPrueba" IS
  2. rango1 DATE;
  3. rango2 DATE;
  4.  
  5. SELECT  SUM(NUMLLA) LLAM ,SUM(ICMINO) MINS, ICOPAC,'Saliente' tipo  FROM ICRESDIA
  6.  WHERE ICDATE BETWEEN  rango1 AND rango2
  7.   AND ICACAS IN (169,170,98,99,100,4,5,81,87,28,29,34,35,32,33,43,44,94,95,97,60)--193
  8. GROUP BY  icopac;
  9.  
  10. CURSOR OPES IS
  11. SELECT 'Tipo' Tipo, DESOPE, SUM(llasal) lls, SUM(minsal) MS
  12. FROM ICDESRES
  13. WHERE DESDIA BETWEEN  rango1 AND rango2
  14. AND ictipe IN ('C','N','R')
  15. GROUP BY  DESOPE
  16. ORDER BY desope;
  17.  
  18.  
  19.  
  20. INTO rango1
  21. FROM dual;
  22.  
  23. SELECT TRUNC(sysdate-1)
  24. INTO rango2
  25. FROM dual;
  26.  
  27.  
  28. FOR r_OPES IN OPES LOOP
  29.   --DBMS_OUTPUT.PUT_LINE(r_OPES.Tipo||','||r_OPES.DESOPE||','||r_OPES.lls||','||r_OPES.MS);
  30. FOR r_DDS IN DDS LOOP
  31. IF r_OPES.DESOPE=r_DDS.ICOPAC THEN
  32.   DBMS_OUTPUT.PUT_LINE(r_OPES.Tipo||','||r_DDS.tipo||','||r_DDS.ICOPAC||','||r_DDS.LLAM-r_OPES.lls||','||r_DDS.MINS-r_OPES.MS);
  33.   END IF;

Y no marca error al compilar, pero me marca error de datos:

onectando a la base de datos 192.150.100.0.
ORA-06502: PL/SQL: error : character to number conversion error numérico o de valor
ORA-06512: en "INTEN_CAM.DesbalanceDiarioPrueba", línea 35
ORA-06512: en línea 2
El proceso ha terminado.
Desconectando de la base de datos 192.150.100.0.

¿Algúna idea?