dbms_job.isubmit(1,   'sys.report;',
           trunc(sysdate)+20/24,
           'trunc(sysdate)+1');

解决方案 »

  1.   

    dbms_job.isubmit(:job_num,   'sys.report;',
               trunc(sysdate)+20/24,
               'trunc(sysdate)+1')
    该语句建立oralce任务具体参数意义为
    job_num:任务建立后的任务号,删除该任务时使用
    'sys.report;'任务要执行的具体操作
    trunc(sysdate)+20/24:任务第一次执行的时间
    'trunc(sysdate)+1':为任务执行的频率,+1为每天执行,+2为两天...
    或为小时也行
      

  2.   

    dbms_job.isubmit(1,   'sys.report;',
               sysdate,
               'trunc(sysdate)+44/24');
    就可以了
    sysdate第一次执行时间,无所谓,
    trunc(sysdate)+44/24才是真正的以后执行时间,表示间隔是当前
    0点+44个小时,即明天下午8点
    如果是
    dbms_job.isubmit(1,   'sys.report;',
               trunc(sysdate)+ 20/24,
               'trunc(sysdate)+1');
    那么,你的任务将是在每天0点执行
      

  3.   

    dbms_job.isubmit(1,
              'sys.report;',
               sysdate,
               'trunc(sysdate)+44/24');

    dbms_job.submit(jobid,  --jobid是一个变量,将返回一个job号
              'sys.report;',
               sysdate,
               'trunc(sysdate)+44/24');
    再查询user_jobs视图,一切你都会明白,里面有next time,指明了job的下次执行时间
      

  4.   

    DBMS_JOB.SUBMIT(:jobno,//job号
                    'your_procedure;',//要执行的过程
                    trunc(sysdate)+20/24,//下次执行时间
                    'trunc(sysdate)+20/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);
      

  5.   

    多谢大家了.
    看来interval并不是时间间隔
    (interval-next_date)才是时间间隔,也就是执行频率了.