Oracle - Cursores en oracle

 
Vista:

Cursores en oracle

Publicado por renxo (1 intervención) el 21/01/2006 02:51:05
Amigos les hago llegar mi cordial saludo y de antemano gracias por la ayuda
Tengo un cursor, que por ejemplo tiene los campos codigo de area y codigo de trabajador.
Yo deseo recorrerlo y realizar un quiebre por codigo de area, eso lo necesito por ejemplo al querer agrupar determinada información.

Ejemplo:
cursor c_areas is
select cod_area, cod_trab from t_movimientos

Al recorrerlo:

for r in c_areas loop
Acá quiero realizar un quiebre por cod_area

end loop ;

Espero me hayan entendido lo explicado
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:Cursores en oracle

Publicado por Hector (127 intervenciones) el 24/01/2006 18:44:50
La solucion que se me ocurre va mas o menos asi:

v_EsElPrimero := 0;
For r in c_areas Loop
If v_EsElPrimero = 0 Then
v_Actual := r.Cod_Area;
V_EsElPrimero := -1; --Para que no entre mas a este if.
End If;
/*El quiebre lo logras a continuacion.*/
If v_Actual != r.Cod_Area Then
/*Lo que quieras en el quiebre*/
v_Actual := r.Cod_Area; --Con esto actualizas para que la prixima vez no entre sino hasta el cambio.
End If;
End Loop;

Ojala te sirva, quedo a tus ordenes.
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

RE:Cursores en oracle

Publicado por tuozzo (66 intervenciones) el 27/01/2006 21:57:23
Yo te recomiendo que hagas dos cursores y los anides, de esa manera te puedes traer los maestros en el cursor externo y los detalles en el cursor interno.
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

RE:Cursores en oracle

Publicado por legolas (1 intervención) el 18/01/2007 20:26:28
cursor c_areas is
select cod_area, cod_trab from t_movimientos

Al recorrerlo:

for r in c_areas loop

Acá quiero realizar un quiebre por cod_area

exit when cod_area = parametro_de_salida


end loop ;
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