Anda di halaman 1dari 1

CURSORES

Nielsen Paul, White Mike, Uttam Parui. Microsoft SQL Server 2008. Bible. Wiley Publishing Inc. Indianapolis. USA. 2009.
Un cursor es esencialmente un puntero a una fila de datos. Un bucle WHILE es usado para circular a travs de
los datos hasta llegar al fin del conjunto de filas al que se aplica.
LOS CINCO PASOS PARA IMPLEMENTAR UN CURSOR
Un cursor crea un set de filas desde una instruccin SELECT y luego apunta a una sola fila de este set cada vez.
Los cinco pasos en la vida del cursor son:
1. La declaracin del cursor, en donde se establece el tipo y conducta del cursor y la instruccin SELECT desde la
cual el cursor obtiene los datos. La declaracin del cursor no recupera ningn dato; solamente establece la
instruccin SELECT. Este es el nico caso donde el nombre de una variable no requiere de un @como prefijo
de una variable.

DECLARE CursorName CURSOR [CursorOptions] FOR Select Statement;
2. Abrir el cursor, esto recupera los datos y llena el cursor:
OPEN CursorName;
3. Apuntar (fetch) mueve a la siguiente fila y asigna los valores desde cada columna entregada por el cursor a
una variable local o al cliente. Las variables deben previamente haber sido declaradas:
FETCH [Direction] CursorName [INTO @Variable1, @Variable2, . . .];
Por defecto, FETCH mueve a la siguiente fila; sin embargo, FETCH puede opcionalmente mover a la anterior, a
la primera, o a la ltima fila del set de datos. FETCH tambin puede mover a una posicin especfica dentro
del set, o, desde una posicin especfica moverse n filas hacia adelante o hacia atrs.
4. Cerrar el cursor libera los candados pero retiene la instruccin SELECT. El cursor puede ser abierto otra vez en
este punto (CLOSE en contraposicin con OPEN)
Close CursorName;
5. Liberar el cursor libera la memoria y remueve las definiciones del cursor. (DEALLOCATE es la contraparte de
CREATE)
DEALLOCATE CursorName;
La funcin de sistema @@fetch_status es esencial para el desarrollo de un cursor pues reporta el estado del
cursor despus del ltimo comando FETCH. Esta informacin es muy usada para controlar el flujo del cursor
hasta alcanzar el fin del set de datos.

Anda mungkin juga menyukai