lunes, 14 de julio de 2008

Paso a mejor vida el For Each para los Update

Seguro les pasó que necesitamos actualizar una tablita A con datos de otra tabla B y lo que vi en los programas de Axon es un for each en todos los registros de la tabla B y hacer un update uno por uno a los campos de la tabla A. pues demosle un pesame a los desarrolladores porque esto ya murio.

Para el ejemplo tomaremos tablas que todo conocemos

Tarea.- Actualizar los CI de los Clientes que se encuentren en la tabla gbageNEW que tiene los campos cage y el nuevo ndid del cliente.

entosss :

Update gbage set gbagendid = (Select ndid from gbageNEW
Where cage = gbage.gbagecage)
Where gbagecage in (Select cage from gbageNEW )

Los detalles importante que se tiene que tomar en cuenta son:

1.- La relacion de las tablas debe ser de 1 a 1
2.- Las condicion Where gbagecage in (Select cage from gbageNEW ) no debe faltar por ningun motivo pues pondra en NULL a todos los clientes que no esten en gbageNEW

Salu2

Nota.- Sus pruebas en el 07

No hay comentarios: