CONSEJO CON CURSOR

10/08/2004 - 17:24 por Ale | Informe spam
Buenas tardes/dias/noches :P gente
Yo tengo que recorrer una tabla e ir haciendo unas
operaciones. Lo mas facil es abrir un cursor, lo cual no
es muy recomendado,
por lo que se me ocurrio ir recorriendo al tabla e ir
haciendo SELECT TOP 1 y voy guardando los valores que
necesito en variables
(algo similar al FETCH NEXT de un cursor) y luego marco el
registro para no volver a seleccionarlo.

La pregunta es la siguiente, siempre me conviene evitar el
uso del cursor? el trabajo que realizo es menos costoso
que recorer el cursor?

Espero que quede claro
Saludos y gracias de ante mano.

Preguntas similare

Leer las respuestas

#1 Maxi
10/08/2004 - 17:38 | Informe spam
Hola, hay que tratar siempre de evitar los cursores porque son lentos y poco
escalables :(

Deberias de pasarnos mas info para poder ayudarte si queres :-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Ale" escribió en el mensaje
news:387e01c47eee$309c1c70$
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date: 29/07/2004
#2 Javier Loria
10/08/2004 - 18:05 | Informe spam
Hola Ale:
Lo que propones (SELECT TOP 1) es tan malo como un cursor. :(
Evita el cursor y evita el SELECT TOP 1, trata de hacer las
"transformaciones" en las mismas columnas.
Si nos das un poco mas de detalle de lo que quieres hacer con gusto te
ayudamos.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Ale" wrote in message
news:387e01c47eee$309c1c70$
Mostrar la cita
#3 Anonimo
10/08/2004 - 19:46 | Informe spam
EL tema es el siguiente y espero que se entienda pq es
algo complejo.
Es muy dificil de explicarlo, ya que no los quiero aburrir
y tambien quiero que lo lean y que opinen.

En una tabla tengo una serie de registros, donde tengo que
aplicar una formula para el primero, y el resultado de esa
formula, se aplica al proximo registro, y asi
sucesivamente se va arrastrando el resultado por registro,
pero no en todos los casos.
Si no se entiende, les hago un ejemplo(si es que se puede).

Slds. y gracias


Mostrar la cita
cursor. :(
Mostrar la cita
hacer las
Mostrar la cita
hacer con gusto te
Mostrar la cita
message
Mostrar la cita
el
Mostrar la cita
el
Mostrar la cita
#4 Anonimo
10/08/2004 - 21:04 | Informe spam
A ver.. en que medida es lo mismo usar "SELECT TOP 1" que
un CURSOR? y por que es malo el TOP 1?
Si el TOP 1 es de una tabla Temporal que no tiene mas de
365 registros?

Saludos

Mostrar la cita
el
Mostrar la cita
el
Mostrar la cita
#5 Maxi
10/08/2004 - 21:11 | Informe spam
Porque estas pensando en no trabajar con conjunto de datos y no es para lo
cual se han pensado las BDD sobre todo SQL Server.

Por mas que sean 365 registros el metodo a aplicar no es eficiente y mucho
menos recomendado!!!


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



escribió en el mensaje
news:3b3101c47f0c$eca57ce0$
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date: 29/07/2004
Ads by Google
Search Busqueda sugerida