Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/12/2013, 14:32
Avatar de pcarvajal
pcarvajal
 
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: Ejecutar procedimiento almacenado con Cursor

Resumo:
Este es el sp y el codigo de testeo:

Código SQL:
Ver original
  1. CREATE OR REPLACE PROCEDURE SpGestionLeerXRutFecha(p_rut IN VARCHAR2, p_ResultSet OUT SYS_REFCURSOR)
  2. AS
  3. BEGIN
  4. OPEN p_ResultSet FOR
  5.     SELECT NTIDGES, NTNOTA
  6.     FROM rsfo.RNOTAGES
  7.     WHERE NTLOTE = p_rut;
  8.  
  9. END;
Código SQL:
Ver original
  1. DECLARE
  2.   v_cur SYS_REFCURSOR;
  3.   v_a   VARCHAR2(10);
  4.   v_b   VARCHAR2(100);
  5. BEGIN
  6.   SpGestionLeerXRutFecha('99556580-3',v_cur);
  7.  
  8.   LOOP
  9.     FETCH v_cur INTO v_a, v_b;
  10.     EXIT WHEN v_cur%NOTFOUND;
  11.     dbms_output.put_line(v_a || ' ' || v_b);
  12.   END LOOP;
  13.   CLOSE v_cur;
  14. END;
Y el error es este:
17:30:47.750 DBMS 10.20.1.10 -- ORA-06502: PL/SQL: numeric or value error
17:30:47.765 DBMS 10.20.1.10 -- ORA-06512: at line 9

Última edición por gnzsoloyo; 18/12/2013 a las 14:43