Oracle - Cursor de tipo Record como parametro en proc

 
Vista:

Cursor de tipo Record como parametro en proc

Publicado por Sergio Lagunes (1 intervención) el 02/03/2001 22:56:39
Alguien sabe si puedo devolver un cursor que devuelve un Record como parametro de salida en un procedimiento??

Tengo un paquete asi

TYPE TCT_Record Is Record(
col1 varchar2(5),
col2 varchar2(3)
);

TYPE CUR_REC IS REF CURSOR RETURN TCT_Record;

en el paquete no hay problema

Lo que quiero es lo sig:
en un procedimiento

create procedure(cprm In Out paquete.CUR_REC) is
begin

--Aqui deseo devolver el cursor con los datos
-- almacenados en el registro
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cursor de tipo Record como parametro en proc

Publicado por Richard (1 intervención) el 04/05/2010 14:16:31
Hola voy a intentar ayudarte, yo tb, tenía un problema similar, queria implementar un procedimiento almacendado en oracle que devuelva un conjunto de datos. la forma de hacerlo es en un cursor. Te paso un ejemplo para que lo adaptes:

1.- Creamos un cursor dentro de un Paquete.

CREATE OR REPLACE PACKAGE curspkg_join
AS
TYPE t_cursor IS REF CURSOR ;
Procedure DAMECLIENTE(eMail IN VARCHAR2, password IN VARCHAR2, io_cursor IN OUT t_cursor);
END CURSPKG_JOIN;

2.- Declaramos el procedimiento almacenado utilizando el CURSOR.

CREATE OR REPLACE PROCEDURE DAMECLIENTE (eMail
IN VARCHAR2, password IN VARCHAR2, io_cursor IN OUT
curspkg_join.t_cursor)
IS
v_cursor curspkg_join.t_cursor;
BEGIN
OPEN v_cursor FOR
SELECT ClienteInet.idClienteInet,
ClienteInet.password,
ClienteInet.nombre,
ClienteInet.apellido1,
ClienteInet.apellido2,
'' as NIF,
ClienteInet.email,
ClienteInet.fechaNacimiento,
ClienteInet.idDireccion
FROM ClienteInet
WHERE ClienteInet.email = eMail
AND ClienteInet.password = password;

io_cursor := v_cursor;
END DAMECLIENTEINTERNET;

3.- Hacer la llamada en .net. pasando un cursor null, en "io_cursor".

Espero que te sirva.

Saludos

Richard.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar