根据老师的结果为什么要手动执行几次循环?有没有什么办法让程序自动重复执行

来源:5-3 案例:员工涨工资问题

welsper.jer

2020-12-24 18:53

declare

  cursor cemp is

    select empno, sal from emp;

  cempno   emp.empno%type;

  csal     emp.sal%type;

  empcount number := 0;

  totalsal number;

begin

  open cemp;

  select sum(sal) into totalsal from emp;

  loop

    fetch cemp

      into cempno, csal;

    --判断涨后工资是否超过5万

    exit when totalsal + csal * 0.1> 50000;

    update emp set sal = sal + sal * 0.1 where empno = cempno;

    exit when cemp%notfound;

    empcount := empcount + 1;

    --涨后工资总额

    totalsal := totalsal + csal * 0.1;

  end loop;

  close cemp;

  dbms_output.put_line('涨工资人数: ' || empcount || '  总工资: ' || totalsal);

end;


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

Oracle数据库开发必备利器之PL/SQL基础

Oracle数据库高级开发必备的基础,通过实例带你熟练掌握

75048 学习 · 208 问题

查看课程

相似问题