存储过程

本文详细介绍了如何通过创建存储过程PRC_SUM_MAIL_EXCHANGE_HAN来计算互换局邮件及时处理率,包括数据清洗、统计关键指标如待处理数、实际接收数等,并提供了异常处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create or replace procedure PRC_SUM_MAIL_EXCHANGE_HAN(p_stat_date in date) is
/** 互换局邮件及时处理率

exec PRC_SUM_MAIL_EXCHANGE_HAN(to_date('20140501','yyyyMMdd'));

**/

stat_date varchar(10);
begin
stat_date := to_char(p_stat_date, 'yyyymmdd');

-- 删除当天统计过的数据
delete from SUM_MAIL_EXCHANGE_HANDLE_STAT where SUM_DATE = stat_date;

insert into SUM_MAIL_EXCHANGE_HANDLE_STAT
(sum_date,
dept_code,
need_rcv_cnt,
rcv_cnt,
open_cnt,
seal_cnt,
handle_cnt,
cnt_12,
cnt_24,
cnt_36,
cnt_48,
cnt_over_48
)
Select mi.clct_sum_date
,exchange_org
,count(*) --待处理数
,sum(decode(EXCHANGE_OPEN_TIME,null,0,1)) --实际接收数
,sum(decode(EXCHANGE_OPEN_TIME,null,0,1)) --开拆数
,sum(decode(EXCHANGE_SEAL_TIME,null,0,1)) --封发数
,sum(decode(EXCHANGE_SEAL_TIME, null,0,1)) --已处理数

,sum(decode(EXCHANGE_SEAL_TIME, null,0,case when EXCHANGE_SEAL_TIME-EXCHANGE_OPEN_TIME<=0.5 then 1 else 0 end))--12小时处理数
,sum(decode(EXCHANGE_SEAL_TIME, null,0,case when EXCHANGE_SEAL_TIME-EXCHANGE_OPEN_TIME<=1 then 1 else 0 end))--24小时处理数
,sum(decode(EXCHANGE_SEAL_TIME, null,0,case when EXCHANGE_SEAL_TIME-EXCHANGE_OPEN_TIME<=1.5 then 1 else 0 end))--36小时处理数
,sum(decode(EXCHANGE_SEAL_TIME, null,0,case when EXCHANGE_SEAL_TIME-EXCHANGE_OPEN_TIME<=2 then 1 else 0 end))--48小时处理数
,sum(decode(EXCHANGE_SEAL_TIME, null,0,case when EXCHANGE_SEAL_TIME-EXCHANGE_OPEN_TIME>2 then 1 else 0 end))--48小时以上处理数
from FACT_MAIL_INFO mi
where mi.clct_sum_date=stat_date and exchange_org is not null
group by mi.exchange_org,mi.clct_sum_date ;

commit;

/* 异常处理 */
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Message: ' || SQLERRM);
dbms_output.put_line('Line No.: ' ||
dbms_utility.format_error_backtrace);
ROLLBACK;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值