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$
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.






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
Respuesta Responder a este mensaje
#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$
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.

Respuesta Responder a este mensaje
#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


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$
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.





.

Respuesta Responder a este mensaje
#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

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.

.

Respuesta Responder a este mensaje
#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$
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

>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.
>
>.
>





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
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida