La única función de un cursor MySQL es para obtener y mostrar registros de base de datos a través de los parámetros de consulta . Aunque esta definición puede sonar simple, la verdad es que, como cursores funcionan de manera diferente y devolver resultados diferentes de declaraciones típicas SELECT , saber cómo y cuándo utilizar los cursores MySQL a veces puede ser confuso. En general , los cursores MySQL son una opción apropiada para el procesamiento de filas de datos que contienen varias tablas o para cuando se desea recuperar y procesar filas específicas dentro de un grupo . Un breve tutorial puede proporcionar información básica sobre cómo realizar esta tarea. Instrucciones
1
Crear un cursor MySQL en la sección Declaración de la consulta. Darle un nombre único - importante porque MySQL permite incluir múltiples cursores en un solo procedimiento , función o gatillo - y enlazarlo a un SELECT o SELECT /WHERE . Un cursor que obtendrá y mostrará un selecto grupo de nombres de los empleados en una columna y un número de identificación de tres dígitos en otro se mostrará como :
DECLARE emp_name CURSORFORSELECT name_cursor , emp_id de EMP DONDE emp_id entre 100 y 500 ;
2
Sandwich la declaración del cursor tras variable de procedimiento y las condiciones de las declaraciones , y antes de las declaraciones de controlador opcionales, si se incluyen estos en su consulta:
DECLARE emp_name VARCHAR ( 30 ) DECLARE emp_id VARCHAR ( 4 ) ;
DECLARE emp_name CURSORFORSELECT name_cursor , emp_id de EMP DONDE emp_id entre 100 y 500 ;
DECLARE CONTINUE MANIPULADOR dE NO no_more_rows FOUNDSET = TRUE;
< br > 3
Crear una nueva tabla para almacenar y mostrar la información :
CREATE TABLE IF NOT EXISTS emp_info ( emp_name VARCHAR , emp_id VARCHAR ) ;
4
Abra el cursor. Apertura ejecuta automáticamente la consulta de acuerdo con la instrucción SELECT que elija, cuenta el número de filas devueltas por la consulta y almacena el resultado en la memoria para su posterior procesamiento :
name_cursor ABIERTO;
5
Obtener y procesar los registros de base de datos . Este paso es donde el verdadero trabajo del cursor se lleva a cabo , ya que vuelve de nuevo desde el último al primer registro de base de datos y se repite o bucles de nuevo , fila por fila , para extraer la información que necesita y la inserta en la tabla emp_info :
FETCH name_cursor EN emp_name , emp_id ; INSERT INTO emp_id ( emp_name , emp_id ) ;
(Referencia 3 )
6
cerrar el cursor para liberar memoria interna el cursor está utilizando :
name_cursor CLOSE ;
7
mostrar los resultados de su nuevo procedimiento almacenado:
SELECT * FROM emp_info ;