CURSOR de SQL Server

Resumen: en este tutorial, aprenderá a usar el cursor de SQL Server para procesar un conjunto de resultados, una fila a la vez.

SQL funciona basado en un conjunto, por ejemplo, la declaración SELECT devuelve un conjunto de filas que se denomina conjunto de resultados. Sin embargo, a veces, es posible que desee procesar un conjunto de datos fila por fila. Aquí es donde entran en juego los cursores.

¿Qué es un cursor de base de datos?

Un cursor de base de datos es un objeto que permite recorrer las filas de un conjunto de resultados. Le permite procesar filas individuales devueltas por una consulta.

Ciclo de vida del cursor de SQL Server

Estos son los pasos para usar un cursor:

Primero, declare un cursor.

Code language: SQL (Structured Query Language) (sql)

Para declarar un cursor, especifique su nombre después de la palabra clave DECLARE con el tipo de datos CURSOR y proporcione un SELECT declaración que define el conjunto de resultados para el cursor.

A continuación, abra y complete el cursor ejecutando SELECT declaración:

Code language: SQL (Structured Query Language) (sql)

Luego, busque una fila del cursor en una o más variables:

Code language: SQL (Structured Query Language) (sql)

SQL Server proporciona la función @@FETCHSTATUS que devuelve el estado de la última instrucción FETCH del cursor ejecutada contra el cursor; Si @@FETCHSTATUS devuelve 0, significa que la instrucción FETCH se realizó correctamente. Puede usar la instrucción WHILE para recuperar todas las filas del cursor como se muestra en el siguiente código:

Code language: SQL (Structured Query Language) (sql)

Después de eso, cierre el cursor:

Code language: SQL (Structured Query Language) (sql)

Finalmente, desasigne el cursor:

Code language: SQL (Structured Query Language) (sql)

Ejemplo de cursor de SQL Server

Usaremos la tabla prodution.products de la base de datos de muestra para mostrarle cómo usar un cursor:

Primero, declare dos variables para contener el nombre del producto y el precio de lista, y un cursor para contener el resultado de una consulta que recupera el nombre del producto y el precio de lista de la production.products tabla:

A continuación, abra el cursor:

Code language: SQL (Structured Query Language) (sql)

Luego, busque cada fila del cursor e imprima el nombre del producto y el precio de lista:

Después de eso, cierre el cursor:

Code language: SQL (Structured Query Language) (sql)

Finalmente, desasigne el cursor para liberarlo.

Los siguientes fragmentos de código unen todo:

Aquí está el resultado parcial:

En la práctica, rara vez usará el cursor para procesar un conjunto de resultados de una manera fila por fila.

En este tutorial, ha aprendido a usar el cursor de SQL Server para procesar un conjunto de resultados, cada fila a la vez.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *