zoukankan      html  css  js  c++  java
  • ORACLE 存储过程实例 [备忘录]


    统计报表:用户登录量(平台点击量)每月月初定时任务统计前一个月的登陆次数、登陆账号数、账号总数。


    使用存储过程把查询的值存储到表 RP_MONTH_CLICK 中。


    create or replace procedure update_RP_MONTH_CLICK  as
      --定义变量
      date_v varchar(6);                --年月              
      login_count_v INTEGER;            --登录次数
      login_accoun_count_v INTEGER;     --登录账号数            
      accoun_count_v INTEGER;           --账号总数
      begin
      /* ------------------ 获取參数 用intokeyword赋值给变量 start--------------------- */  
           --年月
           select case WHEN to_char(sysdate-1,'YYYYMM')=to_char(sysdate,'YYYYMM') THEN to_char(sysdate,'YYYYMM') 
           else to_char(sysdate-1,'YYYYMM') end into date_v from dual ;
            --登录次数
           select count(t.log_id) into login_count_v from SC_ACT_LOG t where t.act_type = 5
           and TO_DATE(TO_CHAR(t.act_time, 'YYYYMM'), 'YYYYMM') = TO_DATE(TO_CHAR(SYSDATE, 'YYYYMM'), 'YYYYMM');
           
           --登录账号数
           select  count(staff_id) into login_accoun_count_v from (
              select t.staff_id from SC_ACT_LOG t where t.act_type = 5
              and TO_DATE(TO_CHAR(t.act_time, 'YYYYMM'), 'YYYYMM') = TO_DATE(TO_CHAR(SYSDATE, 'YYYYMM'), 'YYYYMM')
              group by t.staff_id
            );
           -- 账号总数
         select count(t.staff_id) into accoun_count_v from HRM_STAFF t where t.status = 1 ;
      /* ------------------ 获取參数 end--------------------- */    
       --先删除
       delete from RP_MONTH_CLICK where RMONTH = date_v ;
       --再加入
       insert into RP_MONTH_CLICK ( ID, RMONTH,LOGIN_COUNT,LOGIN_ACCOUNT_COUNT,ACCOUNT_COUNT )
       values( SEQ_SC_GLOBAL_PARAMETERS.NEXTVAL,date_v,login_count_v,login_accoun_count_v,accoun_count_v);         
      commit;
      end;
      



  • 相关阅读:
    《作业二》总结
    《作业一》总结
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    第12组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6776913.html
Copyright © 2011-2022 走看看