create or replace procedure getalert
as
begindate number(20);
enddate number(20);
begin
begindate:=get_millisecond(to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd'))+8*60*60*1000;
enddate:=get_millisecond(to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))+8*60*60*1000;
insert into alert_analysis_fact (moname,time_id,ackoprter,clroprter,category,alertnum)
select fm.moname,
fm.occurtime,
fm.ackoprter,
fm.clroprter,
fm.category,
count(fm.eventid)
from fm_alert fm
where fm.occurtime > to_number(begindate)
and fm.occurtime <to_number(enddate)
union all
select fah.moname,
fah.occurtime,
fah.ackoprter,
fah.clroprter,
fah.category,
count(fah.eventid)
from fm_alert_history fah
where fah.occurtime >to_number(begindate)
and fah.occurtime <to_number(enddate);
end getalert;