ORACLE 預存程序執行個體 [備忘錄],oracle預存程序

來源:互聯網
上載者:User

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;  



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.