Crear procedimiento almacenado en MySQL para insertar datos en la tabla camión (Base de datos transportes)
Si estás aprendiendo MySQL o trabajando con bases de datos, saber crear un procedimiento almacenado para insertar datos es fundamental. En este tutorial te explico paso a paso cómo crear un procedimiento para añadir registros en la tabla camion dentro de la base de datos transportes.
¿Qué vas a aprender?
Crear procedimientos almacenados en MySQL
Insertar datos en una tabla usando parámetros
Ejecutar procedimientos almacenados
Validar resultados correctamente
Estructura de la tabla camión
Antes de empezar, es importante conocer los campos que vamos a utilizar:
IdCamion → Número entero (identificador único)
Matricula → Cadena de texto (5 caracteres)
Tipo → Puede ser: largo, corto o doble
Seleccionar la base de datos
Primero, seleccionamos la base de datos donde trabajaremos:
USE transportes;
Consultar la tabla camión
Para ver los datos actuales de la tabla:
SELECT * FROM camion;
Probar inserción manual (recomendado)
Antes de crear el procedimiento, es buena práctica probar un INSERT manual:
INSERT INTO camion (idCamion, Matricula, tipo) VALUES (1, "3358F", "Largo");
Esto te permite verificar que la estructura de la tabla funciona correctamente.
Eliminar el procedimiento si ya existe
Evita errores eliminando versiones anteriores:
DROP PROCEDURE IF EXISTS insertarCamion;
Crear procedimiento almacenado en MySQL
Ahora sí, creamos el procedimiento usando parámetros de entrada (IN):
DELIMITER //CREATE PROCEDURE insertarCamion( IN pIdCamion INT, IN pMatricula VARCHAR(30), IN pTipo VARCHAR(30) ) BEGIN INSERT INTO camion (idCamion, Matricula, tipo) VALUES (pIdCamion, pMatricula, pTipo); END //DELIMITER ;
Ejecutar el procedimiento almacenado
Asignamos valores a variables:
SET @v_IdCamion = 2; SET @v_Matricula = "2340F"; SET @v_Tipo = "Doble";
DELIMITER //CREATE PROCEDURE insertarCamion( IN pIdCamion INT, IN pMatricula VARCHAR(30), IN pTipo VARCHAR(30) ) BEGIN IF pTipo IN ('Largo', 'Corto', 'Doble') THEN INSERT INTO camion (idCamion, Matricula, tipo) VALUES (pIdCamion, pMatricula, pTipo); ELSE SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Tipo de camión no válido'; END IF; END //DELIMITER ;