你的INTERVAL不是有效的数值,你是想一分钟执行一次,应该这样写
declare
 jobno number;
begin
 dbms_job.submit(jobno,'pro;',trunc(sysdate),'sysdate+1/(24*60)');
commit;
 end;

解决方案 »

  1.   

    另外,我觉得你的TRUNC(SYSDATE)没有必要这么写
      

  2.   

    但我查看数据时,并不想象中数确到以分钟为单位SQL> select rownum,aa.* from aa;    ROWNUM          A B
    ---------- ---------- -----------------
             1          1 14-01-03 17:04:01
             2          1 14-01-03 17:17:32
             3          1 14-01-03 17:18:34
             4          1 14-01-03 17:19:35
             5          1 14-01-03 17:20:37
             6          1 14-01-03 17:21:38
             7          1 14-01-03 17:22:39
             8          1 14-01-03 17:22:50
             9          1 14-01-03 17:23:41
            10          1 14-01-03 17:23:51其中7、8与9、10之间出现分钟重复现象.
      

  3.   

    那应该是你每次执行
    select rownum,aa.* from aa;这句话的时间未必是相同的!所以可能导致了没有那么精确。
      

  4.   

    我觉得要看看你的需求,看看是否需要用到JOB
      

  5.   

    这样写
    trunc(sysdate,'mi')+1/(24*60)
    系统执行存储过程需要时间,用sysdate有偏差
      

  6.   

    的确可以,谢谢版主。若要精确到秒是要这样:
    trunc(sysdate,'ss')+1/(24*60*60)
      

  7.   

    不可以精确到秒
    trunc()只能精确到分