创建存储过程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