sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es el uso de un cursor en SQL Server?

Los cursores son un mecanismo para enumerar explícitamente las filas de un conjunto de resultados, en lugar de recuperarlo como tal.

Sin embargo, aunque pueden ser más cómodos de usar para programadores acostumbrados a escribir While Not RS.EOF Do ... , por lo general, son algo que debe evitarse dentro de los procedimientos almacenados de SQL Server si es posible:si puede escribir una consulta sin el uso de cursores, le da al optimizador una mejor oportunidad de encontrar una manera rápida de implementarlo.

Con toda honestidad, nunca encontré un caso de uso realista para un cursor que no pudiera evitarse, con la excepción de algunas tareas administrativas, como recorrer todos los índices del catálogo y reconstruirlos. Supongo que podrían tener algunos usos en la generación de informes o fusiones de correo, pero probablemente sea más eficiente hacer el trabajo del cursor en una aplicación que se comunica con la base de datos, dejando que el motor de la base de datos haga lo que mejor sabe hacer:manipular conjuntos.