Procedure store

He estaba viendo la página que me degiste pero no he logrado nada, lo único es que estoy bajando algo que pesa 80 megas y que tiene relación con OOO4O de oracle.
Pero la verdad no entiendo, quiero hacer un procedimiento almacenado y no me resulta. Como lo hago
Prodrias mandarme algo de codigo como esto
CREATE OR REPLACE procedure pa_rpt_comision_si
(Fecha1 in VarChar2)
Is
Cursor rpt_comision_si (Fecha1 in VarChar2) is
SELECT REPORTE_SI.VENDEDOR, REPORTE_SI.COD_LOCAL_EXT,
REPORTE_SI.COD_LOCAL_INT, REPORTE_SI.DESCRIPCION,
REPORTE_SI.KILOS, REPORTE_SI.TOTAL_VENTA,
REPORTE_SI.COMISION, VENDEDORES.NOMBRE,
VENDEDORES.AP_PATERNO, VENDEDORES.AP_MATERNO,
CENTRALIZADO_COMISION_VEND.COMISION_SI,
CENTRALIZADO_COMISION_VEND.VENDEDOR AS EXPR1
FROM VENDEDORES, CENTRALIZADO_COMISION_VEND,
REPORTE_SI
WHERE VENDEDORES.VENDEDOR = CENTRALIZADO_COMISION_VEND.VENDEDOR
AND
VENDEDORES.VENDEDOR = REPORTE_SI.VENDEDOR AND
reporte_si.fecha = TO_DATE(fecha1, 'dd/mm/yyyy')
ORDER BY REPORTE_SI.VENDEDOR;
Begin
Open rpt_comision_si (Fecha1);
-- Fetch Ventas INTO rowVenta;
-- iReturn := 0;
-- If Ventas%NOTFOUND Then
-- iReturn := 0;
-- Else
-- iReturn := rowVenta.Venta;
-- End If;
-- Close Ventas;
Return ;
End;
/
Tengo oracle 8.0.5.0.0
Pero que me devuelva un conjunto de registros

1 respuesta

Respuesta
1
Si lo que necesitas es regresar un conjunto de registros entonces tu rutina debe tener un parámetro de salida de tipo cursor. No soy programador de PLSQL pero sería algo como esto:
CREATE OR REPLACE procedure pa_rpt_comision_si
(Fecha1 in VarChar2,
Registros OUT REFCURSOR)
Is
Cursor rpt_comision_si (Fecha1 in VarChar2) is
SELECT REPORTE_SI.VENDEDOR, REPORTE_SI.COD_LOCAL...
Begin
...
open rpt_comision fetch into Registros;
...
return Registros;
...
end;
Para ver ejemplos de cómo usar OO40 con VB revisa la información aquí:
http://oracleheva1.oracle.com/docs/html/B10952_01/o4o00004.htm
Ahí vienen fragmentos de código explicando paso a paso cómo debes hacer las cosas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas