Tecnología

Inicio

MySQL cursor Tutorial

MySQL cursor Tutorial


La única función de un cursor MySQL es conseguir y registros de la base de visualización a través de los parámetros de consulta. Aunque esta definición puede sonar simple, la verdad es que, debido cursores funcionan de manera diferente y devuelven resultados diferentes de los comandos SELECT típicos, saber cómo y cuándo utilizar los cursores MySQL a veces puede ser confuso. En general, los cursores de MySQL son una opción apropiada para el procesamiento de filas de datos que contienen varias tablas o para cuando se desea recuperar y filas específicas de proceso dentro de un grupo. Un breve tutorial puede proporcionar información básica sobre cómo llevar a cabo esta tarea.

Instrucciones

1 MySQL crear un cursor en la sección Declaración de la consulta. Darle un nombre único - MySQL importante porque permite incluir múltiples cursores en un solo procedimiento, función o gatillo - y enlazarlo a un SELECT o SELECT / WHERE. Un cursor que conseguir y mostrar un grupo selecto 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 CURSOR name_cursor
PARA
EMP_NAME SELECT, emp_id de las EMP DONDE emp_id entre 100 y 500;

2 Intercalar la declaración de cursor después de variables y condiciones procedimiento de declaraciones, y antes de las declaraciones de controlador opcional, si se incluyen estos en su consulta:

DECLARE EMP_NAME VARCHAR (30);
DECLARE emp_id VARCHAR (4);

DECLARE CURSOR name_cursor
PARA
EMP_NAME SELECT, emp_id de las EMP DONDE emp_id entre 100 y 500;

DECLARE CONTINUE Manejador de NO ENCONTRADO

SET no_more_rows = TRUE;

3 Crear una nueva tabla para almacenar y mostrar la información:

CREATE TABLE IF NOT EXISTS emp_info
(EMP_NAME VARCHAR, VARCHAR emp_id);

4 Abrir el cursor. Apertura ejecuta automáticamente la consulta de acuerdo a la instrucción SELECT que elija, cuenta el número de filas devuelve la consulta y almacena el resultado en la memoria para su posterior procesamiento:

name_cursor ABIERTO;

5 Fetch y procesar los registros de base de datos. Este paso es donde el trabajo real de que el cursor se lleva a cabo, ya que vuelve de nuevo a partir del último al primer registro de base de datos y una iteración 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 la memoria interna el cursor está utilizando:

name_cursor CLOSE;

7 Mostrar los resultados de su nuevo procedimiento almacenado:

SELECT * FROM emp_info;

Consejos y advertencias

  • Debido a que los cursores pueden causar un procedimiento funcione con lentitud, y en el caso de un problema, hacer una depuración más difíciles, recomendaciones de mejores prácticas aconsejan el uso de sentencias SQL cada vez que pueda, incluso si el resultado es más largo y el código de MySQL más complejo.