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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章