6. Rutina que calcula el valor de la comisión que le corresponde al empleado que ha gestionado un pedido concreto.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `calculaComisionPorPedido`(v_idPedido INT) RETURNS float
BEGIN
DECLARE v_idEmpleado, v_comision INT;
DECLARE v_comisionPorPedido, v_totalPedido FLOAT;
-- Seleccionamos el idEmpleado de ese pedido
SELECT IdEmpleado INTO v_idEmpleado FROM Pedidos
WHERE IdPedido = v_idPedido;
-- Seleccionamos el porcentaje de comisión asociada a ese empleado
SELECT Comision INTO v_comision FROM Empleados
WHERE IdEmpleado = v_idEmpleado;
-- Calculamos la cuantía total del pedido
SELECT totalPedido(v_idPedido) INTO v_totalPedido;
-- Calculamos cuánto supone el porcentaje de comisión de esa cuantía
SELECT v_totalPedido * v_comision / 100 INTO v_comisionPorPedido;
RETURN v_comisionPorPedido;
END
$$
DELIMITER ;
Tabla de referencia:
No hay comentarios:
Publicar un comentario