Oracle存储过程

create or replace procedure PRO_SIGNAL_FLUX is
strCurrentTime character(25);
B character(25);
E character(25);
BEGIN

  strCurrentTime:=TO_CHAR(SYSDATE, 'MM-DD-YYYY ');--得到当前时间
  FOR i IN 0..23 LOOP
      B:=strCurrentTime+' :'+to_char(i)+'0:0';
      E:=strCurrentTime+' :'+to_char(i)+'59:59';
       
      DECLARE
          currID    character(14);
          currFlux  Number;
          CURSOR c1 IS --定义游标
          SELECT t_loop_id,count(flux) count_flux
          FROM t_realtime_signal_flux_temp
          where time between TO_DATE(B,'YYYY/MM/DD HH24:MI:SS') AND TO_DATE(E,'YYYY/MM/DD HH24:MI:SS')
          Group by t_loop_id ; 
         
          emp_rec  c1%ROWTYPE;--定义这个游标的指针
      BEGIN
          FOR  emp_rec IN c1 LOOP --读出这个游标中的所有的记录集
              currID:=emp_rec.t_loop_id;
              currFlux:=emp_rec.count_flux;
              INSERT INTO T_ANALYSE_LOOP VALUES(FUN_GETID,
              currID,
              TO_DATE(B,'YYYY/MM/DD HH24:MI:SS'),
              currFlux,
              '2');
          END LOOP;
         
      END;
   END LOOP;

END PRO_SIGNAL_FLUX;

发布了32 篇原创文章 · 获赞 0 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章