Estruture el script combinandolo con un START TRANSACTION, COMMIT, aplicando filtros WHERE:
Estruture el script combinandolo con un START TRANSACTION, COMMIT, aplicando filtros WHERE:
Hola Jharle, espero que estés bien
Para estructurar tu script con START TRANSACTION y COMMIT, asegurándote de que los cambios se realicen correctamente, podrías seguir el ejemplo que has compartido, pero con algunas mejoras. Aquí tienes una sugerencia de cómo podrías hacerlo:
Incluir el parámetro para el porcentaje de comisión: Asegúrate de que el procedimiento almacenado (SP) acepte un parámetro para el ajuste de la comisión.
Completar la transacción: Incluye ROLLBACK para manejar errores potenciales.
Aquí tienes un ejemplo mejorado:
DELIMITER //
CREATE PROCEDURE reajuste_comision (IN nuevo_porcentaje DECIMAL(5,2))
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- En caso de error, deshacer la transacción
ROLLBACK;
END;
START TRANSACTION;
UPDATE db_jugos.tb_vendedor
SET COMISION = COMISION * nuevo_porcentaje
WHERE FECHA_ADMISION <= '2014-12-31' AND COMISION <= 0.10;
COMMIT;
END//
DELIMITER ;
Llamar al procedimiento almacenado:
CALL reajuste_comision(1.15);
Notas:
nuevo_porcentaje se pasa como parámetro al llamar al procedimiento, lo que te da flexibilidad para ajustar el porcentaje sin modificar el código del procedimiento.Espero que esto te ayude a estructurar tu script de manera más robusta. ¡Bons estudios!
Gracias Brenda Souza, por el Feedback