这是每分钟执行
------------------
   declare   
      jobno   number;   
    begin   
     dbms_job.submit(jobno,'pro;',sysdate,'sysdate+1/1440');   
      commit;   
        end; -------------------可是我想每天23:56执行
怎么写'sysdate+1/1440'这种为什么表示为每分钟

解决方案 »

  1.   

    dbms_job.submit(jobno,'pro;',TRUNC(SYSDATE+1)-4/1440,TRUNC(SYSDATE+1)-4/1440);
      

  2.   

    如果是10g,建议用DBMS_JOB的升级功能DBMS_SCHEDULER,其创建方法为BEGIN 
      DBMS_SCHEDULER.CREATE_JOB( 
        job_name=>'AUTO_EXEC_PROCEDURE', --job名称,自己设
        job_type=>'STORED_PROCEDURE',    --类型为存储过程
        job_action=>'PROC',              --存储过程名称为proc
        start_date=>'TRUNC(SYSDATE+1)-4/24/60',  --开始执行时间
        enabled=>TRUE,          --自动启用
        repeat_interval=>'FREQ=DAILY;BYHOUR=23;BYMINUTE=56')   --每天执行,在23点,56分
    END; 
      

  3.   

    dbms_job.submit(:jobno,'pro;',sysdate,'trunc(sysdate+1)+((23*60+56)/24*60)');
    这个就应该是每天23:56执行。