FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
SQL que actualice campo saldo arrastrado
Hola a todos:
Tengo una tabla IB con 6 campos NORDEN, FECHA, CONCEPTO, INGRESO, GASTO, SALDO conectada con IBDataBase, IBTransaction, IBDataSet, y ordenada for FECHA El campo SALDO va arrastrando el saldo de la cuenta, por lo que al agregar un apunte se situa donde le corresponde por su fecha y después recorro la tabla y actualizo el campo SALDO (y el campo NORDEN). Código:
NORDEN, FECHA, CONCEPTO, INGRESO, GASTO, SALDO 0 31-12-2003 Anterior... 525 1 01-01-2004 Cuotas 200 725 2 02-02-2004 Seguro 500 225 3 03-03-2004 Limpieza 25 200 Muchas gracias. Tomás. |
#2
|
||||
|
||||
esta sentencia lo haria... pero es bastante mas lenta que hacer un ciclo que arrastre el saldo y actualice el campo.
Código:
Update caja c1 set saldo = (select sum(nvl(ingreso, 0) - nvl(gasto, 0)) from caja c2 where c2.norden < c1.norden) + nvl(ingreso, 0) - nvl(gasto, 0); También podes hacerlo con un stored procedure, pero la lógica seria la misma que en delphi, con la ventaja que no tenes que hacer viajar los datos al cliente. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 22-04-2004 a las 20:37:05. Razón: cortar en varias lineas el SQL |
#3
|
||||
|
||||
Amigo jachguate, ¿podrías cortar la sentencia sql en varias líneas?. Mi monitor no da el ancho
|
#4
|
||||
|
||||
hecho!
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Muchas gracias jachguate por la orientación, aunque si dices que con esa sentencia es más lento me da igual dejarlo como está, pero lo probaré porque la velocidad en mi caso no es ningún problema ya que hay pocos registros.
De todas formas investigaré un poco con las ideas que me das. Un saludo. Tomás. |
|
|
|