Como puedo crear/declarar/llenar un cursor a partir de otro
Publicado por Fernanda (37 intervenciones) el 08/04/2015 15:48:03
Hola,
Como puedo crear/declarar/llenar un cursor a partir de otro??
tengo un procedimiento que debe devolver un cursor dependiendo de un dato (filtro), para esto declaro 8 cursores, que obtienen los mismos datos pero de distintas tablas.
Entonces los datos que devuelvo dependerán del filtro ingresado y en vez de copiar el codigo por cada cursor (que está mas abajo) quiero que ese codigo sea unico .
En vez de colocar este codigo por cada cursor que tenga
FOR unRegistro IN RCursor1 LOOP
pnombre(cont) :=unRegistro.nombre;
cont := cont + 1;
END LOOP;
quiero (si es que se puede) algo asi:
if filtro = 1 then
rcursorFinal = Rcursor1
elseif filtro = 2 then
rcursorFinal = Rcursor2
end if
FOR unRegistro IN rcursorFinal LOOP
pnombre(cont) :=unRegistro.nombre;
cont := cont + 1;
END LOOP;
Como puedo crear/declarar/llenar un cursor a partir de otro??
tengo un procedimiento que debe devolver un cursor dependiendo de un dato (filtro), para esto declaro 8 cursores, que obtienen los mismos datos pero de distintas tablas.
Entonces los datos que devuelvo dependerán del filtro ingresado y en vez de copiar el codigo por cada cursor (que está mas abajo) quiero que ese codigo sea unico .
En vez de colocar este codigo por cada cursor que tenga
FOR unRegistro IN RCursor1 LOOP
pnombre(cont) :=unRegistro.nombre;
cont := cont + 1;
END LOOP;
quiero (si es que se puede) algo asi:
if filtro = 1 then
rcursorFinal = Rcursor1
elseif filtro = 2 then
rcursorFinal = Rcursor2
end if
FOR unRegistro IN rcursorFinal LOOP
pnombre(cont) :=unRegistro.nombre;
cont := cont + 1;
END LOOP;
Valora esta pregunta


0