我要写一个这样的存储过程.每天过完了,由一个触发器来调用它.它的任务就是:得到当前时间,如果当前时间为一个月的最后一天.我就要把表A中的,本月全部的flux计算出count来.然后写到表B中.A表的结构为:ID     character(24)      --key word
TIME   date
flux   numberB表结构为:ID     character(24)
TIME   date
flux   number这个要如何写呢?

解决方案 »

  1.   

    你是要写过程还是要实每个月最后一天处理那个表? 
    单单写过程和触发器是实现不了的,这样,你先写一个处理的过程,致于怎么执行先不管 ,然后你做一个JOB,订为每月执行一次就OK了
      

  2.   

    create or replace procedure P_TEST() is
     v_left number;
    begin
     SELECT  (LAST_DAY(SYSDATE) - SYSDATE ) into v_left   FROM DUAL;
     if v_left=0 then
       insert into B(flux)
         SELECT SUM(FLUX) FROM A WHERE TO_CHAR(TIME,'yyyymm')=to_char(sysdate,'yyyymm');
       commit;
     end if;
    end P_TEST;