SQL> drop table aa;表已丢弃。SQL> create table aa(a number,b date);表已创建。SQL> 
SQL> create or replace procedure pro
  2  as
  3  begin
  4  insert into aa values(1,sysdate);
  5  end;
  6  /过程已创建。SQL> declare
  2  jobno number;
  3  begin
  4  dbms_job.submit(jobno,'pro;',trunc(sysdate),'trunc(sysdate)+1+1/(24*60)');
  5  commit;
  6  end;
  7  /PL/SQL 过程已成功完成。

解决方案 »

  1.   

    别忘了调整一下初始化参数job_queue_processes = 16
    job_queue_interval = 60值自己选择
      

  2.   

    关键就是这句中参数值的算法
    dbms_job.submit(jobno,'pro;',trunc(sysdate),
    'trunc(sysdate)+1+1/(24*60)')//每天凌晨1:01分执行
      

  3.   

    PL/SQL Developer Test script 3.013
    -- Created on 2002-7-2 by ADMINISTRATOR 
    declare 
      -- Local variables here
      v_jobnum  number;
    begin
      -- Test statements here
      dbms_job.submit(v_jobnum,'sp_delete_czrz;',sysdate,'last_day(sysdate)+1');
      --dbms_output.put_line('job '||v_jobnum||' has been submitted.');
      --dbms_job.run(v_jobnum,TRUE);
      --dbms_job.run(29,TRUE);
    --DBMS_JOB.REMOVE(6);
      COMMIT;
    end;
      

  4.   

    是否可以给dbms_job.submit(jobno,'pro;',trunc(sysdate),
    'trunc(sysdate)+1+1/(24*60)')//每天凌晨1:01分执行每个参数的详细说明谢谢
      

  5.   

    第一个参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
    第二个参数是将被执行的PL/SQL代码块。
    第三个参数指识何时将运行这个工作。
    第四个参数何时这个工作将被重执行。
      

  6.   

    DBMS_JOB.SUBMIT(:jobno,//job号
                    'your_procedure;',//要执行的过程
                    trunc(sysdate)+1/24,//下次执行时间
                    'trunc(sysdate)+1/24+1'//每次间隔时间
                   );
    删除job:dbms_job.remove(jobno);
    修改要执行的操作:job:dbms_job.what(jobno,what);
    修改下次执行时间:dbms_job.next_date(job,next_date);
    修改间隔时间:dbms_job.interval(job,interval);
    停止job:dbms.broken(job,broken,nextdate);
    启动job:dbms_job.run(jobno);