Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Ejecutando codigo en Mysql

En la parte de creacion de Store procedure, en los video se ve como manipulara con estos procedimientos la informacion, quisiera sber como podemos declarar en ellos como variable el campo de la tabla.? ejemplo en un update modifico precio de un producto,pero en otro necesito modificar es el nombre del producto,. entonces la ide es hacer un solo update que permita modificar cualquier valor dentro de la table sin necesita de crear un procedure para cada campo.

Los parametros que se envian en la llamada serian:

nombre del campo a modificar, valor de este campo

y la codicion para que se ejecute.

Atenta a su respuesta. Gracias

1 respuesta

¡Hola Rosa!

Entiendo que estás buscando una forma de crear un procedimiento almacenado en MySQL que te permita modificar cualquier valor dentro de una tabla sin tener que crear un procedimiento para cada campo.

Una forma de lograr esto es utilizando variables en tu procedimiento almacenado. Puedes declarar una variable para el nombre del campo a modificar, otra variable para el valor que deseas asignar a ese campo y una tercera variable para la condición que debe cumplirse para que se realice la modificación.

Aquí te muestro un ejemplo de cómo podrías hacerlo:

DELIMITER //
CREATE PROCEDURE modificarCampo(IN campo VARCHAR(255), IN valor VARCHAR(255), IN condicion VARCHAR(255))
BEGIN
    SET @sql = CONCAT('UPDATE tu_tabla SET ', campo, ' = ?', ' WHERE ', condicion);
    PREPARE stmt FROM @sql;
    SET @valor = valor;
    EXECUTE stmt USING @valor;
    DEALLOCATE PREPARE stmt;
END //
DELIMITER ;

En este ejemplo, la variable campo representa el nombre del campo que deseas modificar, la variable valor representa el nuevo valor que deseas asignar a ese campo y la variable condicion representa la condición que debe cumplirse para que se realice la modificación. El procedimiento almacenado construye dinámicamente la sentencia SQL utilizando las variables y luego la ejecuta.

Para llamar a este procedimiento almacenado, puedes hacerlo de la siguiente manera:

CALL modificarCampo('nombre', 'nuevo nombre', 'id = 1');

En este caso, estarías modificando el campo 'nombre' de la tabla 'tu_tabla' donde el 'id' sea igual a 1.

Recuerda adaptar el código a tu estructura de tabla y necesidades específicas.

¡Espero que esta respuesta te sea de ayuda! Si tienes alguna otra duda, estaré encantado de ayudarte. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)