如何写一个存储过程实现定时提取数据
提取数据涉及到A(1字段,2字段,3字段),B(1字段,4字段,5字段)三个表,具体提取如:SELECT   A.1,SUM(2)   ,COUNT(3),B.4,B.5   FROM   A   ,   B   WHERE   A.1=B.1   GROUP   BY   A.1,B.4,B.5   ; 
          如何用存储过程实现每月定时提取以上数据的功能,请高手指点,本人将不胜感激! 
------解决方案--------------------1、建一个表c包括你要提取数据的字段和一个DATA字段,用来区别提取时间。 
 2、建一个过程 
 CREATE OR REPLACE PROCEDURE TEST 
 IS 
    tmpvar   NUMBER; 
 BEGIN 
    tmpvar := 0; 
 --插入数据和时间 
    INSERT INTO c 
       SELECT   a.a, SUM (b), COUNT (c), b.d, b.e, SYSDATE 
           FROM a, b 
          WHERE a.a = b.a 
       GROUP BY a.a, b.d, b.e;   
    COMMIT; 
 EXCEPTION 
    WHEN NO_DATA_FOUND 
    THEN 
       NULL; 
    WHEN OTHERS 
    THEN 
       -- Consider logging the error and then re-raise 
       RAISE; 
 END TEST; 
 /   
 3、建一个job定时执行过程。其中next_date决定了第一次执行时间,interval决定了更新周期,这里的写法是每月1号执行。 
 DECLARE 
   X NUMBER; 
 BEGIN 
   SYS.DBMS_JOB.SUBMIT 
     ( 
       job        =>  X 
      ,what       =>   'YJ.TEST; ' 
      ,next_date  =>  to_date( '17-09-2007 00:00:00 ', 'dd/mm/yyyy hh24:mi:ss ') 
      ,interval   =>   'trunc(sysdate+32, 'MM ') ' 
      ,no_parse   =>  FALSE 
     ); 
 END;   
 4、如果问题解决了,记得关闭,我要分。