oracle存儲過程

CREATE OR REPLACE PROCEDURE proc_dev_kpi_hour2day (

                                            i_date in number,

                                            i_kpi_code in varchar2

                                            ) is


BEGIN


    DELETE FROM t_dev_kpi_day

    WHERE idate = i_date and kpi_code = i_kpi_code;


    INSERT INTO t_dev_kpi_day(dev_id, idate, field, kpi_code, kpi_field, kpi_value, create_date)

       SELECT t1.dev_id, t1.idate, t1.field, t1.kpi_code, 0, sum(t1.kpi_value), sysdate

       FROM t_dev_kpi_hour t1

       WHERE t1.idate = i_date

         AND t1.kpi_code = i_kpi_code

       GROUP BY t1.dev_id, t1.idate, t1.field, t1.kpi_code;

    COMMIT;


exception

  when others then

    rollback;

    proc_execute_proc_log('system',

                          'procedure',

                          'idate =' || i_date ||

                          'i_kpi_code =' || i_kpi_code,

                          'proc_dev_kpi_hour2day',

                          'error code=' || sqlcode || ' error message=' ||

                          sqlerrm,

                          '');

    dbms_output.put_line('發生異常!' || sqlcode || '異常的描述:' || sqlerrm);


End proc_dev_kpi_hour2day;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章