¿Cuándo necesitas usar cursores en SQL? Para usar cursores
Los cursores se utilizan generalmente para utilizar el contenido del conjunto de resultados obtenido a través de scripts en otras sentencias SQL. Sin embargo, la ejecución del cursor afectará la velocidad de ejecución del script, así que tenga cuidado al usarlo. El procedimiento típico para utilizar un cursor SQL en un procedimiento almacenado o disparador es: Declarar una variable SQL para que contenga los datos devueltos por el cursor. Declare una variable para cada columna del conjunto de resultados. Declare una variable lo suficientemente grande como para contener el valor devuelto por la columna y declare el tipo de la variable como un tipo de datos implícitamente convertible a partir del tipo de datos de la columna.
Utilice la sentencia DECLARE CURSOR para asociar un cursor SQL con una sentencia SELECT. Además, la declaración DECLARE CURSOR define las características del cursor, como el nombre del cursor y si el cursor es de solo lectura o de solo avance.
Utilice la instrucción OPEN para ejecutar la instrucción SELECT y llenar el cursor.
Utilice la instrucción FETCH INTO para extraer una sola fila y mover los datos de cada columna a una variable especificada. Luego, otras declaraciones SQL pueden hacer referencia a esas variables para acceder a los valores de datos extraídos. Los cursores SQL no admiten la recuperación de bloques de filas.
Utilice la sentencia CLOSE para finalizar el uso del cursor. Cerrar un cursor libera ciertos recursos, como el conjunto de resultados del cursor y su bloqueo en la fila actual, pero la estructura del cursor permanece disponible para su procesamiento si se vuelve a emitir una instrucción OPEN. Debido a que el cursor todavía existe, el nombre del cursor no se puede reutilizar en este momento. La declaración DEALLOCATE libera completamente los recursos asignados al cursor, incluido el nombre del cursor. Después de liberar el cursor, debe utilizar la instrucción DECLARE para regenerar el cursor.