Tiempo de lectura estimado: 1 minuto
Table of Contents
Cómo crear un procedimiento almacenado con parámetros de entrada (IN) en MySQL
En este tutorial aprenderás paso a paso cómo crear un procedimiento almacenado en MySQL usando parámetros de entrada IN. Este método es muy útil para insertar datos dinámicamente en una tabla sin repetir código.
¿Qué es DELIMITER y por qué se usa?
En MySQL, el punto y coma (;) es el delimitador por defecto para indicar el final de una instrucción.
Sin embargo, cuando trabajamos con procedimientos almacenados, debemos cambiarlo temporalmente para evitar errores de sintaxis.
Por eso usamos:
DELIMITER ||
Con esto, MySQL entiende que las instrucciones dentro del procedimiento terminarán con || en lugar de ;.
Al finalizar el procedimiento, volvemos a dejarlo como estaba:
DELIMITER ;
Crear un procedimiento almacenado con parámetros de entrada
Ejemplo de procedimiento que inserta un alumno en la tabla alumnos:
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 ;
Explicación del código
- IN → indica que los parámetros son de entrada (se usan solo para pasar datos).
- BEGIN … END → encierra las instrucciones que se ejecutarán al llamar al procedimiento.
- INSERT INTO → inserta los valores en la tabla usando los parámetros.
Cómo usar el procedimiento para insertar alumnos
Una vez creado el procedimiento, podemos ejecutarlo con la sentencia CALL:
CALL miMetodo('Laura', 'Gómez');
CALL miMetodo('Pedro', 'Sánchez');
Si la columna id de tu tabla alumnos está definida como AUTO_INCREMENT, no es necesario incluirla.

Verificar los datos insertados
Para comprobar que todo se ha insertado correctamente:
SELECT * FROM alumnos;
Verás que los nuevos registros aparecen en la tabla.
Recomendaciones finales
- Cambia siempre el delimitador al crear procedimientos.
- Verifica que los nombres de columnas y parámetros coincidan con tu tabla.
- Usa procedimientos almacenados para automatizar inserciones y evitar repetir sentencias
INSERT.
Los procedimientos almacenados en MySQL con parámetros IN son una herramienta poderosa para automatizar tareas, mantener el código ordenado y reducir errores.
Con el ejemplo de este tutorial, ya puedes comenzar a crear tus propios procedimientos y optimizar la gestión de tus bases de datos.
📹 Demostración en vídeo:
Preguntas frecuentes (FAQ) sobre procedimientos almacenados con parámetros en MySQL
¿Qué diferencia hay entre parámetros IN, OUT e INOUT?
- IN: pasa datos al procedimiento.
- OUT: devuelve datos desde el procedimiento.
- INOUT: puede tanto recibir como devolver datos.
¿Qué pasa si no cambio el DELIMITER al crear un procedimiento?
MySQL lanzará un error de sintaxis, ya que interpretará el ; dentro del procedimiento como el final de la instrucción completa.
¿Puedo usar más de dos parámetros de entrada en un procedimiento?
Sí, puedes usar tantos parámetros como necesites, siempre definiéndolos dentro de los paréntesis al crear el procedimiento.
¿Se pueden usar procedimientos almacenados para actualizaciones o eliminaciones?
Sí, no solo para INSERT. También puedes crear procedimientos para UPDATE, DELETE o consultas más complejas.
Te puede interesar:
Procedimientos almacenados en MySQL: Ejemplos, cursores y casos prácticos
Seguir leyendo:






