我用的是pl_sql 想在jobs中 设置 每年的 12月31号 00:00:01 去执行一个存储过程
请各位大大指点哈 
begin
  sys.dbms_job.submit(job => :job,
                      what => 'UpdateHistoryReport',
                      next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+365');
                                          
  commit;
end;
这是我写的 但是不能执行 而且如果是润年一定会出错误
只要能达到 每年12月31号执行就可以

解决方案 »

  1.   

    ORA-06550: 第 1 行, 第 113 列: 
    PLS-00103: 出现符号 "END"在需要下列之一时:
     := . ( @ % ;
    符号 ";" 被替换为 "END" 后继续。
    ORA-06512: 在"SYS.DBMS_JOB", line 79
    ORA-06512: 在"SYS.DBMS_JOB", line 136
    ORA-06512: 在line 2begin
      sys.dbms_job.submit(job => :job,
                          what => 'UpdateHistoryReport',
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'sysdate+365');
                                              
      commit;
    end;
    这个错误提示
      

  2.   

    interval可以用add_months写..加12个月就好了
      

  3.   

    begin 
      sys.dbms_job.submit(job => :job, 
                          what => 'UpdateHistoryReport', 
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'), 
                          interval => 'last_day(add_months(trunc(sysdate,''yyyy''),12))+1/(1440*60)'); 
      commit; 
    end; 
      

  4.   

    是interval => 'add_mosths +12'; 
    这样写吗?
      

  5.   

    begin 
      sys.dbms_job.submit(job => :job, 
                          what => 'UpdateHistoryReport;', -- 你这里少了个;号
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'), 
                          interval => 'last_day(add_months(trunc(sysdate,''yyyy''),12))+1/(1440*60)'); 
      commit; 
    end; 
      

  6.   

    interval => 'add_months(trunc(sysdate),12)'); 
      

  7.   

    把上面sysdate,''yyyy''),12...  这里的12改为24
      

  8.   

      修改interval => 'add_months((trunc(sysdate)+1/24/60/60),12)'; 
      

  9.   

    what => 'UpdateHistoryReport' 少一个分号,应该为what => 'UpdateHistoryReport;'
      

  10.   

    Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
    Connected as zykSQL> begin
      sys.dbms_job.submit(job => :job,
                          what => 'UpdateHistoryReport');
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'add_months((trunc(sysdate)+1/24/60/60),12)';
      commit;
    end;ORA-06550: 第 4 行, 第 33 列: 
    PLS-00103: 出现符号 ">"在需要下列之一时:
     := . ( @ % ;
    ORA-06550: 第 5 行, 第 79 列: 
    PLS-00103: 出现符号 ";"在需要下列之一时:
     . ( ) , * @ % & = - + < / >
       at in is mod not rem <an exponent (**)> <> or != or ~= >= <=
       <> and or like between ||
    ORA-06550: 第 10 行, 第 0 列: 
    PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
     end not pragma
       final instantiable order overriding static member constructor
       map
      

  11.   

    -- 刚才没测试过,不好意思。修改如下begin 
      sys.dbms_job.submit(job => :job, 
                          what => 'UpdateHistoryReport;', -- 你这里少了个;号
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'), 
                          interval => 'last_day(add_months(trunc(sysdate,''yyyy''),23))+1/(1440*60)'); 
      commit; 
    end; 
      

  12.   

    上面的那个也试了 不对咧
    我直接复制到SQL命令里面运行的 
      

  13.   

    begin 
      sys.dbms_job.submit(job => :job, 
                          what => 'PKG_RefreshBaseData.UpdateHistoryReport;',-- 你这里少了个;号 
                          next_date => to_date('31-12-2008 00:00:01', 'dd-mm-yyyy hh24:mi:ss'), 
                          interval => 'last_day(add_months(trunc(sysdate,''yyyy''),23))+1/(1440*60)'); 
      commit; 
    end;
    我现在用的这个 他说的错误是并非所有变量都已关联 
    难道是我的存储过程的问题吗?