Este artículo lo guía a través de los fundamentos de trabajar con cursores en SQL Server.
Que es un cursor?
Comencemos en lo básico y discutamos qué es un cursor de base de datos. Un cursor es un objeto que le permite atravesar las filas de una consulta resultante. En términos simples, un cursor le permite procesar las filas de un conjunto resultante individualmente.
El ciclo de vida del cursor de SQL Server
Un cursor de SQL Server sufre varios pasos. Lo siguiente describe el ciclo de vida de un cursor en SQL Server.
Comienza declarando un cursor usando una declaración SQL. La siguiente sintaxis muestra la definición de cursor de ejemplo
Declarar cursor_name cursorEl segundo paso es abrir el cursor, lo que le permite almacenar los datos del conjunto de resultados. Abra el cursor como:
Abrir cursor_name;En el paso de búsqueda, puede recuperar las filas del cursor una por una o en un conjunto. Ejemplo de la sintaxis de Fetch es como:
Obtenga a continuación del cursor a list_of_variables;Una vez que termine de obtener los datos, cierre el cursor.
cerrar cursor_name;Finalmente, desan hecho el cursor, que elimina la definición del cursor y libera los recursos del sistema asociados con él.
DealLocate cursor_name;Ejemplo de uso del cursor
Tomemos un ejemplo para ilustrar cómo usar un cursor de SQL Server. En nuestro ejemplo, utilizaremos la muestra SalesDB para SQL Server. Descargue y experimente con él usted mismo.
Comenzaremos declarando las variables que contienen el nombre y el precio del producto y el cursor para procesar el resultado de la consulta.
Un fragmento de código de ejemplo es el que se proporciona a continuación:
DECLARARUna vez que se completan el cursor y la declaración variable, podemos abrir y usar el cursor para obtener los datos.
Un ejemplo es como se muestra:
Usar salesDB;Después de obtener los datos requeridos, cerramos y desineamos el cursor para liberar recursos del sistema.
Clausura.
Esta guía le enseñó los conceptos básicos de trabajar con los cursores de SQL Server. Aunque rara vez usará cursores para procesar los datos sobre una fila por fila, los cursores pueden ser muy útiles cuando se usan correctamente.