Oracle - como tomar solo una campo de un cursor

 
Vista:

como tomar solo una campo de un cursor

Publicado por Adoum (1 intervención) el 01/04/2009 19:12:03
Que tal, soy nuevo en el foro,m

mi problema es el siguiente:

declaro un cursor
CURSOR mi_cursor IS SELECT B."fecha_recepcion_doctos",B."fecha_modificacion" ,campo3,campo4,campo5,campo6,campo7 etc...FROM "DBASIGAF"."ctrl_verificaciones_masivas" A
INNER JOIN "DBASIGAF"."ctrl_doctos_entregados" B ON B."idx_verificaciones_masiva
s"=A."idx_verificaciones_masivas"
WHERE
A."numero_folio"=folio
AND
A."estatus_registro"<>2
AND
b."estatus_registro"<>2
UNION
SELECT B."fecha_recepcion_doctos",B."fecha_modificacion" FROM "DBASIGAF"."ctrl_
ordenes_auditoria" A
INNER JOIN "DBASIGAF"."ctrl_doctos_entregados" B ON B."id_ctrl_ordenauditoria"=A
."id_ctrl_ordenauditoria"
WHERE
A."numero_orden"=folio
AND
A."estatus_registro"<>2
AND
b."estatus_registro"<>2;

cuando lo abro

OPEN mi_cursor;

num_registros:=0;
LOOP FETCH mi_cursor INTO fecha_solventacion,fecha_capturacampo3,campo4,campo5,campo6,campo7 ,etc.....

todo bien, pero, ahora supongamos que solo necesito fecha_solventacion y el resto no
ahora como lo hago es que declaro de cualquier forma todos los datos que trae el cursor, pero mi pregunta es no hay algo como mi_cursor."fech_solventacio" o algo así, de esta manera no me tocaría que estar tecleando todo siempre.

por su ayuda gracias..
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:como tomar solo una campo de un cursor

Publicado por Sergio (79 intervenciones) el 01/04/2009 21:58:32
Pero cuanta complicación por un simple "cursorcillo" de unas cuantas columnitas vale...

Ok va, la solución es muy sencilla, tienes tu cursor el cual te sirve como DEFINICIÓN para crear un tipo REGISTRO, cómo lo haces:

declare
cursor cursorcillo as
bla
bla
bla

registro_cursor cursorcillo%ROWTYPE;
begin
bla
bla
bla
OPEN mi_cursor;

num_registros:=0;
LOOP FETCH mi_cursor INTO REGISTRO_CURSOR; -- <== ¿Mucho mejor no es así?
bla
bla
bla
end;

Así la próxima vez que pongas o quites campos en tu CURSOR no tendrás que preocuparte por ponerlos o quitarlos del LOOP, sólo usarlos donde los necesites.
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