您的位置:首页 > 其它

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

2016-05-31 18:34 363 查看
--为雇员增加工资,从工资低的雇员开始,为每个人增加原工资的 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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: