Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNA CONSULTA
A veces nos interesa duplicar, triplicar o tener n copias de un mismo registro de la base de datos por cualquier motivo.
Un ejemplo sera hacer n copias de la misma factura para un cliente.
Para abordar esto lo podemos hacer de muchas maneras, utilizando bucles en el cdigo, con SQL sin intervencin de
ningn tipo de bucle u otras maneras que seguro sabris ;).
En el siguiente ejemplo de enfoque de la solucin he optado por SQL, ya que la motivacin inicial era aplicarlo
directamente en la consulta de obtencin de datos para REPORTS 6.
Para simplificar el ejemplo supondremos que tenemos los siguientes datos en una tabla llamada Cliente con estos
datos
Nombre Copias
----------- ---------
Jordi .......... 3
Pedro ........ 2
Elisa .......... 4
Utilizaremos la tabla DUAL para obtener una cantidad ilimitada de registros, pero para el ejemplo lo limitaremos a 5
registros.
Nota: cuidado con ejecutar SELECT LEVEL Registro FROM DUAL CONNECT BY LEVEL > 0, ya que la generacin de la
tabla temporal se comer toda la memoria. (con 40.322.423 registros mi portatil se qued sin memoria virtual)
Registro
------------
1
2
3
4
5
Efectuamos la unin entre las dos tablas para obtener el conjunto de registros indicados en el campo copias de la
tabla cliente.