Consulta para no utilizar cursores ......

04/03/2006 - 20:25 por jpablos | Informe spam
Saludos ..

Tengo una tabla de documentos y sus dividendos con los siguiente campos

doc div deuda abono estado
1 1 50 0 P
1 2 50 0 p
1 3 50 0 p
2 1 35 0 p
2 2 40 0 p
.
.
.

Por ejemplo si yo necesito hacer un abono de 72 al doc 1 yo lo que hago es
crear un cursor que me filtre por todos aquellos cuyo campo doc = 1 y voy
restando el valor de abono al valor que voy a cancelar, si se cancela el
abono cambia el estado a "C", o sea que quedaria de la siguiente manera:

doc div deuda abono estado
1 1 50 50 C
1 2 50 22 p
1 3 50 0 p
2 1 35 0 p
2 2 40 0 p
.
.

Esto yo lo hago mediante el uso de un cursor, pero he escuchado que no es
recomendable el uso de estos, como podria hacer este proceso si utilizar
cursores ??????

Gracias ..
 

Leer las respuestas

#1 Maxi
06/03/2006 - 13:10 | Informe spam
Hola, bueno yo no le veo otra que usar cursores. Lo que si que lo haria
desde la aplicacion y esto lo resolveria ahi y luego enviar a la bdd solo el
Update necesario


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"jpablos" escribió en el mensaje
news:
Saludos ..

Tengo una tabla de documentos y sus dividendos con los siguiente campos

doc div deuda abono estado
1 1 50 0 P
1 2 50 0 p
1 3 50 0 p
2 1 35 0 p
2 2 40 0 p
.
.
.

Por ejemplo si yo necesito hacer un abono de 72 al doc 1 yo lo que hago es
crear un cursor que me filtre por todos aquellos cuyo campo doc = 1 y voy
restando el valor de abono al valor que voy a cancelar, si se cancela el
abono cambia el estado a "C", o sea que quedaria de la siguiente manera:

doc div deuda abono estado
1 1 50 50 C
1 2 50 22 p
1 3 50 0 p
2 1 35 0 p
2 2 40 0 p
.
.

Esto yo lo hago mediante el uso de un cursor, pero he escuchado que no es
recomendable el uso de estos, como podria hacer este proceso si utilizar
cursores ??????

Gracias ..

Preguntas similares