参考Scott用户中的emp表,编写一个存储过程(名称为Pro),输入雇员名,如果是PRESIDENT,则sal增加1000,如果是MANAGER,则增加600,否则增加100。
时间: 2024-12-12 18:25:07 浏览: 9
针对scott用户中的emp表完成如下操作:
在SQL中,我们可以创建一个存储过程(Procedure)来满足这个需求。假设`emp`表有`emp_name`和`sal`两个字段,其中`emp_name`表示员工姓名,`sal`表示薪水。以下是创建名为`Pro`的存储过程的一个例子:
```sql
DELIMITER //
CREATE PROCEDURE Pro(IN empName VARCHAR(50))
BEGIN
DECLARE newSal DECIMAL(10, 2); -- 初始化新的薪水
SELECT sal INTO newSal FROM emp WHERE emp_name = empName; -- 获取当前薪水
IF empName = 'PRESIDENT' THEN
SET newSal = newSal + 1000;
ELSEIF empName = 'MANAGER' THEN
SET newSal = newSal + 600;
ELSE
SET newSal = newSal + 100;
END IF;
UPDATE emp SET sal = newSal WHERE emp_name = empName; -- 更新员工薪水
END //
DELIMITER ;
```
现在你可以通过如下命令调用这个存储过程:
```sql
CALL Pro('EmployeeName');
```
将'EmployeeName'替换为你想调整薪水的员工名字。
阅读全文