为雇员增加工资,从工资低的雇员开始,为每个人增加原工资的 10%,限定所增加的工资总额为 800 元,显示增加工资的人数和余额。

本文介绍了一段PL/SQL代码,该代码用于为数据库中薪资较低的员工按比例增加工资,并确保总增加额不超过预设值。展示了如何使用游标、条件判断及更新操作来实现这一业务需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--为雇员增加工资,从工资低的雇员开始,为每个人增加原工资的 10%,限
--定所增加的工资总额为 800 元,显示增加工资的人数和余额。
--1.游标c_sal :select empno,ename,sal from emp order by sal;v_empno,v_sal 个人薪资,v_total:=800 涨薪总数,
--v_add_sal 每个人的涨薪,v_count 人数
set serveroutput on 
declare
v_empno varchar2(10);
v_sal number;
v_total number:=800;
v_add_sal number;
v_count number:=0;
cursor c_sal is select empno,sal from emp order by sal;
begin
open c_sal;
dbms_output.put_line('员工编号     '||'旧薪资     '||'新薪资    ');
loop
fetch c_sal into v_empno,v_sal;
exit when c_sal%notfound;
v_add_sal := v_sal*0.1;
if v_total > v_add_sal then 
v_total:=v_total-v_add_sal;
dbms_output.put_line(v_empno||'-'||v_sal||'-'||to_char(v_sal+v_add_sal,9999999));
update emp set sal=sal+v_add_sal
where empno=v_empno;
v_count:=v_count+1;
commit;
else dbms_output.put_line(v_empno||'-'||v_sal||'-'||v_sal);
end if;
end loop;
close c_sal;
dbms_output.put_line('涨薪人数 :'||v_count);
dbms_output.put_line('剩余资金 :'||v_total);
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值