创建存储过程P6,根据员工编号检查员工学历并根据学历增加员工的工资(专科:300,本科:500,研究生:800。)

创建存储过程P6,根据员工编号检查员工学历并根据学历增加员工的工资(专科:300,本科:500,研究生:800。)


CREATE PROCEDURE P6
    @emp_id INT
AS
BEGIN
    DECLARE @education VARCHAR(20)
    DECLARE @salary_increase INT

    SELECT @education = education
    FROM employees
    WHERE emp_id = @emp_id

    IF @education = '专科'
        SET @salary_increase = 300
    ELSE IF @education = '本科'
        SET @salary_increase = 500
    ELSE IF @education = '研究生'
        SET @salary_increase = 800
    ELSE
        SET @salary_increase = 0

    UPDATE employees
    SET salary = salary + @salary_increase
    WHERE emp_id = @emp_id
END

解释:存储过程使用一个员工编号作为参数
1、根据员工编号查询该员工的学历
2、根据学历确定工资增加的数值
3、更新该员工的工资:如果员工的学历不是专科、本科或研究生,则不会增加工资。

CREATE PROCEDURE P6()     
BEGIN
    DECLARE edu varchar(10);
    DECLARE salaryIncrease int;
    SELECT education INTO edu FROM employee WHERE employeeId = @employeeId;
    IF edu = '专科' THEN
        SET salaryIncrease = 300;
    ELSEIF edu = '本科' THEN
        SET salaryIncrease = 500;
    ELSEIF edu = '研究生' THEN
        SET salaryIncrease = 800;
    END IF;
    UPDATE employee SET salary = salary + salaryIncrease WHERE employeeId = @employeeId;
END