[Para Miguel Egea]

15/09/2003 - 20:11 por A.Satorra | Informe spam
Hola, soy Antonio Satorra :

Hace unos dias hice una pregunta sobre como poder llevar
un saldo de un artículo en un tabla temporal y tu muy
amablemente me respondiste que podia hacer un sub-query,
lo he estado probando pero se me complico excesivamente
la cosa y tuve que mirar por otro sitio al final he
utilizado un trick que esta en internet que es el
siguiente :
declare @saldo float
set @saldo = 0
UPDATE #Extart
SET @Saldo = Saldoext = Cantidad + @Saldo

Saldoext y cantidad son campos de la tabla.

Con esta simple instrucción en la variable saldo tengo el
saldo de la línea anterior. Esto me permitirá resolver
otros problemas similares y va que se las pela.

Para mas información ver :

www.sqlteam.com/item.asp?ItemIDv5
 

Leer las respuestas

#1 Miguel Egea
15/09/2003 - 20:56 | Informe spam
Buenas Antonio

Yo he recomendado algunas veces estrategias como esas, pero nunca en
situaciones como las que describes ya que microsoft no garantizá el orden en
que ejecutará el update, y eso podría hacer que tu saldo no esté ordenado
por fecha (cosa que entiendo lógica), bien es cierto que normalmente si
tienes un índice clustered adecuado, la mayoría de las veces lo hace
correctamente.En cualquier caso si necesitas la instrucción para hacerlo con
acumulados te la proporciono gustoso.



=SALVA A SQL,
MATA UN CURSOR

Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
==

"A.Satorra" escribió en el mensaje
news:029a01c37bb4$d7f80030$
Hola, soy Antonio Satorra :

Hace unos dias hice una pregunta sobre como poder llevar
un saldo de un artículo en un tabla temporal y tu muy
amablemente me respondiste que podia hacer un sub-query,
lo he estado probando pero se me complico excesivamente
la cosa y tuve que mirar por otro sitio al final he
utilizado un trick que esta en internet que es el
siguiente :
declare @saldo float
set @saldo = 0
UPDATE #Extart
SET @Saldo = Saldoext = Cantidad + @Saldo

Saldoext y cantidad son campos de la tabla.

Con esta simple instrucción en la variable saldo tengo el
saldo de la línea anterior. Esto me permitirá resolver
otros problemas similares y va que se las pela.

Para mas información ver :

www.sqlteam.com/item.asp?ItemIDv5

Preguntas similares