Hola, ojo con esto, no comparto que la solucion sea usar un While, el
pensamiento sigue siendo de cursores J analiza el proceso y pensa en
conjuntos, como no conozco el detalle no puedo ayudarte, pero cada vez que
pienses en recorrer de a filas, registros o como lo quieras llamar estas
usando el pensamiento de no conjuntos y eso esta mal.

 

-----------------------------------------------------------

Microsoft MVP en SQL Server

Mentor asociado en SQLTotalConsulting

Excelencia en servicios y consultoria  SQLServer

www.sqltotalconsulting.com

-----------------------------------------------------------

 

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de ablach
Enviado el: Wednesday, March 12, 2008 10:43 AM
Para: Maxi
Asunto: [dbms] como se reemplaza un cursor

 

Dario,

 

Eso era justo lo que estaba buscando

 

Con esto dejo de usar cursores, que es lo que sabia que se podia reemplazar
pero no sabia el como, y ese articulo me lo explica

 

Total, el resto del proceso es igual como si fuera el cursor, solo que
dentro del WHILE loop

 

Gracias por tu ayuda y a Maxi, que lo comento siempre y no sabia como
resolverlo

 

 

 


De:

[email protected]


Para:

"ablach" [EMAIL PROTECTED]

 


Copia:

        

Fecha:

Wed, 12 Mar 2008 10:15:19 -0200

 


Asunto:

[dbms] como se reemplaza un cursor

Hola, en este link
http://www.sqlbook.com/SQL/Avoiding-using-SQL-Cursors-20.aspx hay algunas
opciones de como reemplazar los cursores, yo utilice la primer opción, que
es realizando un loop con while y disminuyó notablemente el tiempo de
ejecución. 
Espero que les sea util.
Saludos

-- 
Dario R. Ayala
[EMAIL PROTECTED] 

> El día 12/03/08, Leonardo Micheloni <[EMAIL PROTECTED]>
escribió: 

> Justamente es el caso que quería poner de ejemplo, este caso es un típico
ejemplo donde se usan cursores y se puede resover con un conjunto de
resultados del estilo

>  

> insert into tabla (campos)

> value

> select campos where condición

>  

> habría que ver el caso particular, pero es un ejemplo que uno suele
resolver con cursores (del lado de sql o .net) y se puede resolver con
conjunto de datos, como dijo Daniel Calvin.

>  

> Saludos.

On Wed, Mar 12, 2008 at 9:06 AM, ablach <[EMAIL PROTECTED]> wrote:

> Ante todo, disculpas por no responder ayer, pero nos quedamos sin
internet, cosas de la tecnologia

>  

> Justamente, lo que tengo que hacer, en un proceso nocturno y sin net, solo
con un sp, es recorrer una serie de clientes e insertarle unos registros, de
acuerdo a unas condiciones particulares.

>  

> Con un cursor si lo se hacer, pero como siempre se dijo que se deberia
realizar sin cursores, pense que se podia hacer de otra manera.

>  

> No puedo hacer nada que no sea SQL, ya que es solo un servidor dedicado, y
en el se hacen los procesos nocturnos

>  

> Gracias por tu respuesta

>  

> 


De:

[email protected]

> 


Para:

"ablach" [EMAIL PROTECTED]

> 


Copia:

        

> 


Fecha:

Tue, 11 Mar 2008 11:12:55 -0200

> 


Asunto:

[dbms] como se reemplaza un cursor

> > Justamente reemplazar los cursores significa NO procesar renglon por
renglon.

> > Que logica haces en el cursor?

> >  

> > Saludos

> > 

 

2008/3/11 ablach <[EMAIL PROTECTED]>:

> 

> > Buenas,

> >  

> > Muchas veces me han dicho que en SQL Server no se debe usar cursores.

> >  

> > Mi pregunta es, si no se debe usar cursores, como es que se hace para
ejecutar algo no usando cursores y que se ejecute renglon por renglon. O
donde hay un ejemplo sin cursores.

> >  

> > Gracias

> >  

> > Abel




-- 
-------------------------------- 
Atte.
Ing. Jose Mariano Alvarez
SQL Total Consulting 

  _____  

Mensaje verificado por el Antispam Terra.
En caso que este mensaje sea SPAM, haz clic aquí
<http://correo.terra.com/cgi-bin/reportspam.cgi?+_d=UyY2MDk0NzUwI3Blcm0hdGVy
cmF1cyYxLDEyMDUyNDEyMDYuNzA5OTI5LjI3MzM0Lmd1bmRhcnUudGVycmEuY29tLDM1OTA=> . 

  _____  

Este mensaje ha sido verificado por el E-mail Protegido.
Antivirus actualizado en 11/03/2008 / Versión: 0.92/6196 

> 


-- 
Leonardo Micheloni.

http://leomicheloni.blogspot.com/ 





  _____  

Mensaje verificado por el Antispam Terra.
En caso que este mensaje sea SPAM, haz clic
<http://correo.terra.com/cgi-bin/reportspam.cgi?+_d=UyY2MDk0NzUwI3Blcm0hdGVy
cmF1cyYxLDEyMDUzMjQxODEuNDMwMzg1LjEyNDM3LmluZ2FsdGEudGVycmEuY29tLDExODMy>
aquí. 

  _____  

Este mensaje ha sido verificado por el E-mail Protegido.
Antivirus actualizado en 12/03/2008 / Versión: 0.92/6206 

Responder a