CREATE PROCEDURE updata_salary_while(OUT num INT) BEGIN DECLARE avg_salary DECIMAL(10,2); DECLARE total_salary DECIMAL(10,2); DECLARE count_employee INT; DECLARE loop_count INT DEFAULT 0;

SELECT SUM(salary), COUNT(*) INTO total_salary, count_employee FROM employee;
SET avg_salary = total_salary/count_employee;

WHILE(avg_salary > 5000) DO
    UPDATE employee SET salary = salary * 0.98;
    SET loop_count = loop_count + 1;
    
    SELECT SUM(salary), COUNT(*) INTO total_salary, count_employee FROM employee;
    SET avg_salary = total_salary/count_employee;
END WHILE;

SET num = loop_count;

END$$

DELIMITER ;


原文地址: https://www.cveoy.top/t/topic/nGfT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录