Pablo
2009-11-26 02:13:01 UTC
Tengo tres tablas:
VEN (clave primaria=id)
LIQ (clave primaria=id)
Conc (clave primaria=id)
Las tablas Ven y Liq tienen muchos muchicimos registros (seguramente no
alcance la memoria para leerlos)
en estado pendiente. Ademas tienen muchos campos cada una.
Lo que tengo que hacer es:
Un join entre LIQ y VEN (por unos 4 o 5 campos) y de ese join recuperar
apenas un grupo de campos.
Y por cada par que encuentro, grabar un registro en CONC.
Al grabar el CONC me devolvera su ID.
Ademas debo actualizar el par (ese LIQ y ese VENC) completandoles a cada uno:
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha1)
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha2)
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha3)
- Un campo ID llamado ID_CONC que tiene el valor del ID obtenido al grabar
CONC
Como puedo hacer?
Uso un datareader? un dataset? otra idea?
Imagino Que me conviene leer de a lotes, tipo de a 1000 pares o algo asi
(de a uno seria muy lento y todo junto tal vez no alcance la memoria)
Y... (espero no abusar con mi consulta) ¿tienen algun ejemplo?
PD: APLICACION WINDOWS, NO ASP
Uso c# y la base puede ser SQLSERVER (DISTINTAS VERSIONES) U (ORACLE)
Para salir del paso, si la solucion aplica solo a sqlserver me va sirviendo
por ahora.
Heeelp
Gracias
refpxp25112009
VEN (clave primaria=id)
LIQ (clave primaria=id)
Conc (clave primaria=id)
Las tablas Ven y Liq tienen muchos muchicimos registros (seguramente no
alcance la memoria para leerlos)
en estado pendiente. Ademas tienen muchos campos cada una.
Lo que tengo que hacer es:
Un join entre LIQ y VEN (por unos 4 o 5 campos) y de ese join recuperar
apenas un grupo de campos.
Y por cada par que encuentro, grabar un registro en CONC.
Al grabar el CONC me devolvera su ID.
Ademas debo actualizar el par (ese LIQ y ese VENC) completandoles a cada uno:
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha1)
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha2)
- Un campo con un valor de una fecha que voy calculando (llamemosla fecha3)
- Un campo ID llamado ID_CONC que tiene el valor del ID obtenido al grabar
CONC
Como puedo hacer?
Uso un datareader? un dataset? otra idea?
Imagino Que me conviene leer de a lotes, tipo de a 1000 pares o algo asi
(de a uno seria muy lento y todo junto tal vez no alcance la memoria)
Y... (espero no abusar con mi consulta) ¿tienen algun ejemplo?
PD: APLICACION WINDOWS, NO ASP
Uso c# y la base puede ser SQLSERVER (DISTINTAS VERSIONES) U (ORACLE)
Para salir del paso, si la solucion aplica solo a sqlserver me va sirviendo
por ahora.
Heeelp
Gracias
refpxp25112009