Procedimiento almacenado con cursor en MySQL
Cómo crear un procedimiento almacenado con cursor en MySQL para recorrer un usuario
En este tutorial vamos a trabajar con la base de datos tiendaonline
para crear un procedimiento almacenado que nos permita recorrer un usuario específico mediante el uso de cursores en MySQL. El objetivo es comprobar si un cliente con un determinado id_cliente coincide con el nombre buscado, en este caso “Luis Pérez”.
procedimiento almacenado con un cursor para recorrer un usuario en MySQL |
Este procedimiento es muy útil cuando necesitamos validar registros concretos y aprender cómo funcionan los cursores, los manejadores de errores y los bucles dentro de MySQL. A continuación te explico paso a paso lo que hace cada parte del código:
Paso a paso del procedimiento
-
Seleccionamos la base de datos donde trabajaremos:
-
Comprobamos que el cliente con id 2 es “Luis Pérez”:
-
Si el procedimiento ya existe, lo eliminamos para evitar conflictos:
-
Cambiamos el delimitador temporalmente para poder definir el procedimiento correctamente:
-
Creamos el procedimiento llamado
recorrerElUsuario
, que recibe como parámetro de entrada unid
: -
Declaramos variables internas:
-
variableNombre
para guardar el nombre obtenido del cursor. -
semaforo
para indicar cuándo ya no quedan filas por recorrer.
-
-
Declaramos el cursor
cursorNombre
, que seleccionará el nombre del cliente con elid_cliente
indicado. -
Creamos un manejador (CONTINUE HANDLER) que activa el “semáforo” cuando no hay más filas que recorrer.
-
Abrimos el cursor y lo recorremos en un bucle (
miBucle: LOOP
). -
Comprobamos si el nombre coincide con “Luis Pérez”:
-
Si coincide → mostramos el mensaje “El usuario existe en la base de datos”.
-
Si no coincide → mostramos el mensaje “El usuario no coincide en la base de datos”.
-
-
Cerramos el cursor y finalizamos el procedimiento.
-
Llamamos al procedimiento con el id deseado:
Código completo del procedimiento
Con este procedimiento almacenado hemos comprobado cómo recorrer registros con cursores en MySQL, controlar el flujo con un bucle LOOP y generar mensajes personalizados según la coincidencia del usuario.
Comentarios
Publicar un comentario