統計報表:用戶登錄量(平台點擊量)每月月初定時任務統計前一個月的登陸次數、登陸賬號數、賬號總數。
使用存儲過程把查詢的值存儲到表 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;