Heim > Datenbank > MySQL-Tutorial > Oracle 存储过程实例备忘

Oracle 存储过程实例备忘

WBOY
Freigeben: 2016-06-07 16:42:35
Original
1109 Leute haben es durchsucht

Oracle 存储过程实例备忘 统计报表:用户登录量(平台点击量)每月月初定时任务统计前一个月的登陆次数、登陆账号数、账号总数。

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
  /* ------------------ 获取参数 用into关键字赋值给变量 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;


 

本文永久更新链接地址:

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage