博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle存储过程
阅读量:5079 次
发布时间:2019-06-12

本文共 773 字,大约阅读时间需要 2 分钟。

create or replace procedure Proc_Update_StaffInfo

is
  temp number;
  cursor cur_staff is select * from HR_RS_Staff where Deleted = 0 and sysdate > EntryTime + 365;
begin
    for u in cur_staff
      loop
        temp :=  mod(floor(sysdate - to_date(u.EntryTime,'yyyy-MM-dd')),365);

        if temp <> 0 then

          -- 员工企龄
          update HR_RS_Staff set EnterprisesAge = EnterprisesAge + 1 where ID = u.ID;
         
          -- 员工年假信息
          select count(*) into temp from HR_KQ_StaffAnnualLeave where ID = u.ID;
          if temp = 0 then
            insert into HR_KQ_StaffAnnualLeave(ID, Staffid, Numberofdays, Deleted, Createtime, Modifytime)values(u.ID, u.ID, 5, 0, sysdate, sysdate);
          else
            update HR_KQ_StaffAnnualLeave set Numberofdays = 40 where ID = u.ID;
          end if;
        end if;
      end loop;
end;

转载于:https://www.cnblogs.com/aaa6818162/archive/2013/03/01/2938322.html

你可能感兴趣的文章
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Redis快速入门
查看>>
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>