variable  seque Number;
   Begin
   dbms_job.submit(:seque,'jgc_modify_counter;',Sysdate,'trunc(sysdate)+1');
   End;

解决方案 »

  1.   

    第三个参数:sysdate,是不是表示我提交后就立刻运行?
    第四个参数:'trunc(sysdate)+1'表示什么意思?为什么要trunc(sysdate)加上1呢,
    如果我要每秒、每分钟、每小时、每月,应该怎么写呢
      

  2.   

    variable  seque Number;
       Begin
       dbms_job.submit(:seque,'jgc_modify_counter;',Sysdate,'sysdate+24*60*60');
         commit;
       End;要加上COMMIT;
    看下列:
    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);
    例子:
    VARIABLE jobno number;
    begin
          DBMS_JOB.SUBMIT(:jobno,
                  'Procdemo;',
                   SYSDATE, 'SYSDATE + 1/720');
             commit;
    end;
    /
      

  3.   

    谢谢了,那我下边写的,第一次运行是否是明天的00:00:00,以后每次是00:00:00运行呀
    Begin
          dbms_job.submit(:seque,'jgc_modify_counter;',to_date(to_Char(Sysdate+1,'YYYYMMDD')||'00:00:00','YYYYMMDD HH24:MI:SS'),'sysdate+1');
          Commit;
       End;