Tiempo de lectura estimado: 3 minutos
Cómo crear un procedimiento almacenado con parámetros en MySQL (explicado paso a paso)
¡Hola! Hoy te traigo un tutorial sencillo y muy útil si estás empezando con MySQL, vamos a ver cómo crear un procedimiento almacenado con parámetros de entrada en MySQL que nos permita insertar datos en una tabla sin tener que escribir el INSERT
una y otra vez.
Lo mejor de todo es que usaremos parámetros de entrada, lo que nos permitirá pasarle valores distintos cada vez que lo necesitemos.
Antes de empezar: ¿qué es DELIMITER
y para qué sirve?
Cuando trabajamos con MySQL, usamos el punto y coma (;
) para indicar que una instrucción ha terminado. Pero cuando vamos a crear un procedimiento (que lleva varias líneas y puntos y coma dentro), necesitamos decirle a MySQL: “Oye, no te confundas, espera a que yo te diga cuándo hemos acabado”.
Ahí entra en juego DELIMITER
. Con él, cambiamos temporalmente el punto y coma por otro símbolo, como ||
o $$
. Así, MySQL sabe que todo el bloque forma parte del mismo procedimiento.

Por ejemplo:
DELIMITER ||
Con esto, estamos diciendo: “a partir de ahora, las instrucciones acaban con ||
en lugar de ;
”.
Paso 1: Creamos el procedimiento
Vamos a crear un procedimiento llamado miMetodo
que reciba dos valores: el nombre y el apellido de un alumno. Estos datos se insertarán en una tabla llamada alumnos
.
Este sería el código:
DELIMITER ||
CREATE PROCEDURE miMetodo(
IN variable_nombre VARCHAR(100),
IN variable_apellido VARCHAR(100)
)
BEGIN
INSERT INTO alumnos(nombre, apellido)
VALUES (variable_nombre, variable_apellido);
END ||
DELIMITER ;
¿Qué significa cada parte?
CREATE PROCEDURE miMetodo(...)
: así comenzamos a crear nuestro procedimiento y le damos un nombre.IN variable_nombre
yIN variable_apellido
: son los parámetros de entrada. Nosotros les pasaremos el nombre y apellido del alumno cuando llamemos al procedimiento.BEGIN ... END
: este bloque contiene las instrucciones que se ejecutarán.INSERT INTO
: aquí estamos diciendo “inserta un nuevo alumno con el nombre y apellido que yo te pase”.
Y al final, volvemos a cambiar el delimitador a punto y coma con:
DELIMITER ;
Paso 2: Ejecutar el procedimiento
Ya con el procedimiento creado, podemos usarlo para insertar alumnos fácilmente. Solo tenemos que llamarlo así:
CALL miMetodo('Laura', 'Gómez');
Esto insertará un nuevo alumno llamado Laura Gómez en nuestra tabla.
¿Quieres añadir otro alumno? Solo cambia los valores:
CALL miMetodo('Pedro', 'Sánchez');
Fácil, ¿verdad?
Paso 3: Comprobar que se han insertado los datos
Para asegurarte de que todo ha salido bien, puedes consultar la tabla con:
SELECT * FROM alumnos;



Y verás todos los alumnos que has ido insertando, sin tener que escribir un INSERT
largo cada vez.
¿Por qué es útil crear procedimientos como este?
Porque te ahorra tiempo, te evita errores y te permite reutilizar código. Además, si estás creando un sistema más grande, tener procedimientos bien organizados hará que todo funcione mejor.
En resumen
- Cambiamos el delimitador con
DELIMITER ||
. - Creamos el procedimiento con
CREATE PROCEDURE
. - Definimos los parámetros de entrada (
IN
). - Escribimos las instrucciones entre
BEGIN
yEND
. - Volvemos al delimitador normal (
DELIMITER ;
). - Llamamos al procedimiento con
CALL
.
Y listo, así de fácil es crear un procedimiento almacenado con parámetros de entrada en MySQL.
Si te ha sido útil este tutorial, ¡no te vayas sin compartirlo o dejar un comentario! Y si te gustaría que hiciera otro ejemplo más avanzado, estaré encantado de ayudarte. 😊
Seguir leyendo: