关闭

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

282人阅读 评论(0) 收藏 举报
分类:
--为雇员增加工资,从工资低的雇员开始,为每个人增加原工资的 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;
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9376次
    • 积分:341
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:25篇
    • 译文:0篇
    • 评论:1条
    最新评论