Cursores SQL Server

Un cursor esta diseñado para realizar una función de  desplazamiento, partiendo de una consulta utilizada para generar el conjunto de resultados en el que opera el cursor. 

DECLARE CURSOR acepta una sintaxis basada en el estándar ISO y una sintaxis utilizando un conjunto de extensiones de Transact-SQL.

En conclusión un cursor es una estructura que itera a través de un conjunto de datos esta estructura es similar a lo que aria un for o foreach en seguida te muestro un ejemplo que servirá de apoyo para entender mejor esta herramienta

El ejemplo es muy simple y trata de identificar y eliminar los registros duplicados en una tabla 

Sintaxis

ISO Syntax DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ] [;] Transact-SQL Extended Syntax DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ] [;]

Ejemplo 

 

Comentarios