Ejemplo de cursor de SQL Server

Ejemplo de cursor de SQL Server
Los cursores son un concepto fundamental en bases de datos. Le permiten iterar sobre el resultado de una consulta. Esto puede ser útil cuando necesita tomar medidas sobre una fila por fila, lo que lleva a operaciones simplificadas y secuenciales a la base de datos.

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 cursor
Para select_query;

El 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:

DECLARAR
@Product_Name Varchar (255),
@Price Decimal (10,2);
DECLARAR
sample_cursor cursor
Para seleccionar
@nombre del producto,
@precio
DE
Productos;

Una 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;
DECLARAR
@Name Varchar (255),
@Price Decimal (10,2);
DECLARAR
sample_cursor cursor
Para seleccionar
@Nombre,
@Precio
DE
Productos;
Abrir sample_cursor;
Obtenga a continuación de sample_cursor a
@Nombre,
@Precio;
mientras @@ fetch_status = 0
COMENZAR
imprimir @name + cast (@price como varchar (max));
Obtenga a continuación de sample_cursor a
@Nombre,
@Precio;
FIN;
Cerrar sample_cursor;
DealLocate sample_cursor;

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.