oracle 涨工资

Posted wangchuanfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 涨工资相关的知识,希望对你有一定的参考价值。

declare 
   cursor cemp is select empno ,sal from emp order by sal;
   --定义参数
   pempno emp.empno%type;
   psal emp.sal%type;
   countEmp number :=0;
   salTotal number;

   begin
     --得到工资总额的初始值
     select  sum(sal) into salTotal from emp;
     --打开光标
     open cemp;
          loop
              -- 1.工资总额>5w
              exit when salTotal>50000;
              --取一个员工涨工资
              fetch  cemp into  pempno ,psal;
              --2.%notfound
              exit when cemp%notfound;

              --涨工资
              if salTotal+psal*1.1<50000 then
              update  emp set sal = sal*1.1 where empno=pempno;
              --涨工资的人数
              countEmp := countEmp+1;
              --涨后的工资总额
              salTotal := salTotal+psal*0.1;
              else exit;
              end if;  
          end loop;
     --关闭光标
     close cemp;
     dbms_output.put_line(涨工资人数:||countEmp||  资总额:||salTotal);
   end;

 

以上是关于oracle 涨工资的主要内容,如果未能解决你的问题,请参考以下文章

oracle存储过程(带参数的存储过程)

oracle存储过程

oracle存储过程和自定义函数

老板,spring源码已经看完了,可以涨工资吗

每人涨10%的工资,涨的前一共不超过5万,从低工资往高工资的人涨,超过5W则停止涨,问涨的钱花了多少,多少人获得了涨薪。

oracle习题