Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Update Select (https://www.clubdelphi.com/foros/showthread.php?t=58395)

JAI_ME 18-07-2008 20:28:13

Update Select
 
buenos dias, tengo un problema el cual no se como solucionar ojala ustedes puedan ayudarme a solucionarlo.

tengo una DBF y una base de datos en firebird en la cual tengo una tabla "TablaFirebird", la tabla dbf es la que se se actualiza por medio de un sistema algo ya viejo, la idea es que debo actualizar los productos en la tablafirebird siempe y cuando hallan sidos modificados en la dbf.


en otras palabras mas claras,

debo modificar el registro en la TablaFirebird siempre y cuando el valor que este en dicha tabla sea diferente al valor del mismo producto el la TablaDBF.

ejemplo tengo que hacer lo siguiente..

supongamos que el producto
001 de la DBF tiene 100 como cantidad

osea

DBF
CODIGO CANT
001 100

ahora debo actualizar la tabla en firebird que actualmente tiene este registro

firebird
codigo cant
001 50

como la cantidad es diferente debo actualizar la tabla FireBird

cuento con este codigo que al probar en IBexpert no me funciona

UPDATE TablaFirebird SET cant = '100' --> (valor que viene de la tabla DBF)
FROM TablaFirebird A INNER JOIN TablaFirebird B ON A.Codigo = B.Codigo
and A.Cant <> '100' -->(que el vr sea diferente al de la DBF)

se puede hacer esto asi como lo tengo, si no ? cual seria la solucion ?
muchas gracias de ante mano por las respuestas que pueda recibir..

pcicom 18-07-2008 22:37:21

Cuando Grabes algun cambio en tu DBF despues actualizas tu tabla FIREBIRD

DBF
Codigo Valor
001 100


En firebird corre

UPDATE FROM tabladearticulo SET Cantidad=<NuevoValor> WHERE codigo=<codigo>

Realmente no se ve donde pueda estar tu complicacion...

JAI_ME 18-07-2008 23:36:15

el problema es que tengo en la dbf casi 25.000 registros y lo que quiero es hacerlo de la manera mas optima posible solo con sql.

de todas formas gracias


La franja horaria es GMT +2. Ahora son las 15:21:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi