我做了一个存储过程将一个表中的数据导出到一个excel表中,我想把它放在一个作业里,每个月的第一天执行,表名用当前的日期,像这样2010-10-25,每个月一个excel表

解决方案 »

  1.   

    --创建一个job去实现嘛
    --建立一个存储过程 ,将一个表中的数据导出到一个excel表中
    CREATE OR REPLACE PROCEDURE p_jobtest
    IS
      dat VARCHAR2(30);
    BEGIN
      --获取当前日期 ,作为excel表名
      SELECT To_Char(SYSDATE,'yyyy-mm-dd') INTO dat FROM dual;
      --倒表动作
      。
    END;
    /--提交一个JOB ,每月第一天执行
    DECLARE
      v_jobno NUMBER;
    BEGIN
      sys.dbms_job.submit(job => v_jobno,
      what => ' begin p_jobtest; end;',
      next_date => to_date('2010-10-26','yyyy-mm-dd'),   --开始执行时间
      interval => 'trunc(Add_Months(SYSDATE,1),''mm'')') ;  --每月第一天
    END;
    /
      

  2.   

    systime varchar(20);
    BEGIN
    select to_char(sysdate,'mm-dd') into systime from dual;     l_file :=utl_file.fopen('FILEPATH',sysdate,'w');    这样导出的不是.xls的文件