Los cursores son costosos a nivel performance. Se recomienda no usarlos, intentar resolver la necesidad puntual por otro lado, por ejemplo a través de un ciclo y la cláusula WHILE. Si hablamos de un conjunto de datos pequeño, no hay problema, pero si estamos hablando de procesar un lote grande de datos, probas de una manera, después de la otra, y los tiempos de respuesta del motor varían de manera considerable. Mariano
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: [dbadmin] Como hacer una iteracionDate: Fri, 8 Aug 2008 11:59:10 -0300 Hola, y cual es la diferencia de hacer eso y usar cursores? Un while a la larga es un proceso de cursores, estas pensando en registros y no en teoria de conjuntos como son las bases de datos Maximiliano Damian Accotto Microsoft MVP en SQLServer SQL Total Consulting Bogota 3631 P3B 1407 Buenos Aires-Argentina Movil: (011)-15-5868-5599 Desde el exterior: (+54-911)-5868-5599 [EMAIL PROTECTED] De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Mariano DiosEnviado el: viernes, 08 de agosto de 2008 11:02 a.m.Para: MAXIAsunto: [dbadmin] Como hacer una iteracion Buen día, la lógica de un cursor se puede reemplazar con la clausula While. Podrías insertar los datos a recorrer en una tabla temporal, con una clave primaria autonumérica. Despues deberías contar las filas de la tabla temporal, y hacer un cliclo hasta que proceses el conjunto de datos. Dentro del ciclo, escribirías la funcionalidad que necesites. Mariano From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: [dbadmin] Como hacer una iteracionDate: Fri, 8 Aug 2008 09:30:36 -0300 Hola mariano!, gracias por la respuesta, me olvide de comentar que estoy tratando de hacer la sentencia sin usar cursor alguno. Como última de última opción, será usar cursores. Como “no veo” solución sin cursores, estoy consultando en la lista. Piensan que no es posible una salida a este planteo sin recurrir a los cursores?, yo, no le encuentro la vuelta. Aclaración, la tabla no tiene índice, mas que la pk Desde ya muchas gracias!! Alejandra Blasco Departamento de Sistemas Naldo Lombardi S.A. 02362-422039(Int. 201) [EMAIL PROTECTED] De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano AlvarezEnviado el: Jueves, 07 de Agosto de 2008 08:52 p.m.Para: [EMAIL PROTECTED]: [dbadmin] Como hacer una iteracion Yo usaria un cursor del tipo FOR UPDATE. Ojo con los indices. . -------------------------------- Atte.Ing. Jose Mariano AlvarezSQL Total Consulting 2008/8/7 Programacion Naldo Lombardi SA <[EMAIL PROTECTED]> Necesito hacer que el campo de la tabla t1 que originalmente tiene esos valores termine con los valores de Salida la tabla t1, tiene un campo c1 (int), no PK, ni FK.Ejemplo con algunos registros: C1-------110110110120120130140140140Salida: C1-------111112113121122131141142Quiere decir que encontramos tres 110, entonces necesito iterar el ultimo carcater del 110 de 1 a 3,agregando el 1 en el primer, el 2 en el segundo y 3 en el tercer registro. O sea, el primer registro 110 paso a ser 111,el segundo registro 110 paso a ser 112 , el tercer registro 110 paso a ser 113. Necesito hacer un script que me permita actualizar esos registros con esa iteración Espero me entiendan. Desde ya muchas gracias. Alejandra Blasco Departamento de Sistemas Naldo Lombardi S.A. 02362-422039(Int. 201)[EMAIL PROTECTED] No virus found in this outgoing message.Checked by AVG.Version: 7.5.524 / Virus Database: 270.5.12/1597 - Release Date: 07/08/2008 05:54 a.m. No virus found in this incoming message.Checked by AVG.Version: 7.5.524 / Virus Database: 270.5.12/1599 - Release Date: 07/08/2008 08:49 p.m. No virus found in this outgoing message.Checked by AVG.Version: 7.5.524 / Virus Database: 270.5.12/1599 - Release Date: 07/08/2008 08:49 p.m. Entra en contacto con el atleta que hay en ti. Haz la prueba. _________________________________________________________________ Descargá ya gratis y viví la experiencia Windows Live. http://www.descubrewindowslive.com/latam/index.html
