码迷,mamicode.com
首页 > 数据库 > 详细

oracle 涨工资

时间:2019-06-07 16:45:02      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:oracl   line   upd   pre   when   打开   begin   temp   rac   

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 涨工资

标签:oracl   line   upd   pre   when   打开   begin   temp   rac   

原文地址:https://www.cnblogs.com/wangchuanfu/p/10988500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!