9 dic 2008

PL/SQL Recorrer un cursor

Buenos dias,

Cuando se esta realizando un recorrido sobre un cursor en PL/SQL un metodo practico de realizarlo es a traves de LOOP ... END LOOP. Para el caso de la variable que contendra el registro activo, esta se define en la creacion del ciclo y para utilizar los datos se maneja variable.dato (ej. c.nombre)


FOR d IN c_descuentos LOOP
   --El cursor que vamos a recorrer es C_DESCUENTOS
   --El registro activo esta en la variable d
   insert into hist_descuentos(codigo,fecha_inicio,fecha_fin)
   values(d.cod,d.fini,d.ffin);
END LOOP; -- Descuentos


los LOOP se pueden usar anidados siempre tomando en cuenta el scope de cada cursor, para que no les de un problema de acceso a datos o un comportamiento inesperado.

La referencia en ingles esta aca

No hay comentarios: