Cursores en MySQL

En el lenguaje SQL existen los llamados cursores que son útiles para recorrer los registros que devuelve una consulta. Estas estructuras sólo deben utilizarse cuando no haya otra forma de manipular conjuntos de datos en una sola instrucción.

Como declarar los cursores.

DECLARE cursor_name CURSOR FOR select_statement
 
Este comando declara un cursor. Pueden definirse varios cursores en una rutina, pero cada cursor en un bloque debe tener un nombre único. 

El comando SELECT no puede tener una cláusula INTO


Sentencia OPEN del cursor. 

OPEN cursor_name

 Este comando abre un cursor declarado préviamente. 


Sentencia del cursor FETCH 
 
FETCH cursor_name INTO var_name [, var_name] ...

Este comando trata el siguiente registro (si existe) usando el cursor abierto que se especifique, y avanza el puntero del cursor.
Si no existen más registros disponibles, ocurrirá una condición de Sin Datos con el valor SQLSTATE 02000. Puede configurar un manejador (handler) para detectar esta condición (o para una condición NOT FOUND). 
Sentencia del cursor CLOSE.


Ejemplo de uso de una funcion.




No hay comentarios:

Publicar un comentario