Ver Mensaje Individual
  #5  
Antiguo 05-09-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una observación/pregunta.

Cuando haces una actualización como la que describes, en el fondo estás generando una consulta SQL por cada registro que recorres en el ciclo. ¿No te sería más eficiente hacerlo de un sólo golpe con un par de consultas:

Código SQL [-]
update tabla
set subtotal = cant_comp*cost_unt*factor_desc/100
where subtotal = 1

Código SQL [-]
update tabla
set subtotal = cant_comp*cost_unt*factor_desc/100
where subtotal <> 1

Claro que está el detalle aquí de que la condición incluye el campo que se actualiza pero esto lo podrías solventar añadiendo un campo bandera o reduciendo a una sóla consulta usando un condicional (no sé como sea el condicional en IB).

Además, dado que para la consulta SQL sólo necesitas un texto, puedes agregar la fórmula que desees en ejecución.

// Saludos
Responder Con Cita