declare 
myjob number;
begin   
dbms_job.submit(myjob,'p_backdata;',trunc(sysdate)-1/1440,'trunc(sysdate)-1/1440+1');
end;   
/大家帮忙看一下在oracle里定时执行存储过程我这样写可正确.我运行job的时候老报错误,实在郁闷!

解决方案 »

  1.   

    执行的时候报啥错?
    引用myjob时需要使用“:”号
    :myjob
      

  2.   

    就是上面这种写发可正确.我在PL/SQL里直接运行JOB的.所以我认为包错肯定是我上面的SQL写的不正确,存储过程p_backdata我单独运行了是正确的。
      

  3.   


    SQL> variable job1 number;
    SQL> 
    SQL> begin
      2  dbms_job.submit(:job1,'p_backdata;',trunc(sysdate)-1/1440,'trunc(sysdate)-1/1440+1');
      3  end;
      4  /PL/SQL procedure successfully completed
    job1
    ---------
    28SQL> begin
      2  dbms_job.run(:job1);
      3  end;
      4  /begin
    dbms_job.run(:job1);
    end;ORA-12011: 无法执行 1 作业
    ORA-06512: 在 "SYS.DBMS_IJOB", line 406
    ORA-06512: 在 "SYS.DBMS_JOB", line 272
    ORA-06512: 在 line 2
    job1
    ---------
    28