Escrito por Luis Cervantes el 2 de June, 2010

Los cursores son una herramienta de SQL que nos permite recorrer el resultado de una consulta SQL y realizar operaciones sobre cada registro.

En SQLServer los cursosres se pueden usar en el analizador de consultas o implementarlos en los procedimientos almacenados

Un ejemplo de cursor es:

USE nombre_base_datos

DELCARE
@campo1 numeric,
@campo2 varchar(50),
@campo3 varchar(10)

DECLARE nombre_cursor CURSOR FOR
Select campo1, campo2, campo3 From Tabla Where campo4 > 30

OPEN nombre_cursor
FETCH NEXT FROM nombre_cursor INTO @campo1, @campo2, @campo3

WHILE @@FETCH_STATUS =0 BEGIN
print convert(varchar,@campo1) + @campo2 + @campo3
FETCH NEXT FROM nombre_cursor INTO @campo1, @campo2, @campo3
END

CLOSE nombre_cursor
DEALLOCATE nombre_cursor
GO

Utilizamos el convert en el print dentro del while porque es numerico y la instrucción print solo permite mostrar caracteres.

Tags: