para obtener más información sobre los cursores, también eche un vistazo al entrenamiento gratuito de consultas SQL proporcionado por Steve Stedman.
en SQL Server el cursor es una herramienta que se utiliza para iterar sobre un conjunto de resultados, o para recorrer cada fila de un conjunto de resultados una fila a la vez. Puede que no sea la mejor manera de trabajar con un conjunto de datos, pero si necesita hacer un bucle row agonizando row (RBAR) en un script T-SQL, entonces un cursor es una forma de hacerlo.,
Nota: si es nuevo en SQL Server y proviene de un entorno de Oracle, debe saber que los cursores en SQL Server son diferentes de los de Oracle.
antes de crear el cursor, simplemente comenzaremos con una simple consulta que terminará siendo utilizada en el cursor.
USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;Que se ve algo como esto:
Ahora, para convertirlo en un cursor, en lugar de una instrucción select.
Paso 1: Declare las variables para mantener la salida desde el cursor.,
DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);Paso 2: Declarar el cursor de objeto;
DECLARE @BusinessCursor as CURSOR;Paso 3: Asignar a la consulta del cursor.
SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;Paso 4: Abra el cursor.
OPEN @BusinessCursor;Paso 5: buscar la primera fila.
FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;Paso 6: bucle hasta que no haya más resultados. En el bucle, imprima el ID y el nombre del conjunto de resultados y obtenga la fila neta.
Paso 7: cierra el cursor.,
CLOSE @BusinessCursor;Paso 8: Desasigne el cursor para liberar cualquier memoria o conjunto de resultados abiertos.
DEALLOCATE @BusinessCursor;Ahora poniendo todo junto:
Esto te dará una visión rápida de cómo construir rápidamente y utilizar un cursor en Microsoft SQL Server. El ejemplo mostrado se ejecutó en SQL Server 2008, y funciona igual en SQL Server 2005, SQL Server 2008R2, SQL Server 2012 o SQL Server 2014.,
Aquí hay un video que muestra una visión general similar del uso de cursores en TSQL.
¡a Disfrutar!,
-Steve Stedman
enlaces relacionados
- Video: Introducción Simple a los cursores TSQL
- capacitación en consulta SQL gratuita para el curso 70-461
- Ejemplo de Cursor Simple : FORWARD_ONLY vs FAST FORWARD
- capacitación en Video sobre el uso de cursores con SQL Server
- Más detalles sobre Cursores
- cursors – technical debt
- listing database example with a cursor
¿ha probado Database Health Monitor?
obtener ayuda de Steve y el equipo de Stedman Solutions
estamos listos para ayudar., Steve y el equipo de Stedman Solutions están aquí para ayudarle con sus necesidades de SQL Server.Obtenga ayuda hoy mismo poniéndose en contacto con Stedman Solutions a través del formulario de consulta gratuito de 30 minutos.