CREATE OR REPLACE PROCEDURE aaa_h(p_date IN DATE DEFAULT SYSDATE) IS begin end; 问题:
   DEFAULT SYSDATE本应是正点执行但是由于job过多排队,实际执行的时间大于希望执行的时间.
   比如说sysdate因该是2010-04-01 10:30:00 但是由于job延时倒是调用时sysdate时间是2010-04-01 10:30:30 
    USER_SCHEDULER_JOB_RUN_DETAILS表中Actual_Start_Date栏位和REQ_START_DATE栏位,分别是job实际执行的时间,应该执行的时间.
   但由于job延时我的SYSDATE 请问会是Actual_Start_Date栏位和REQ_START_DATE.不好意思只有这么多分.
  

解决方案 »

  1.   

    这里的sysdate,是指该存储过程执行时的sysdate,对应Actual_Start_Date,本例中即2010-04-01 10:30:30 。
    记得昨天你也有帖子,你的意思是,该存储过程是通过JOB来调用?
      

  2.   

    Actual_Start_Date:实际开始执行的时间。
    REQ_START_DATE:job要求的执行的时间。
    sysdate是存储过程被JOB调用时的时间。
      

  3.   

    ORACLE的JOB执行时会有些个时延,执行次数多了容易出现错位,需要严格执行时间的建议使用trunc(sysdate + 1) + ...来约定。
      

  4.   

    我就是不明白job延时执行时传入到PROCEDURE的时间,是实际时间还是REQ_START_DATE.
      

  5.   

    job延时执行时,传入到PROCEDURE的时间,是实际时间!
    这个时间是直接取oracle主机时间,因为它不是你通过job创建DDL里定义的REQ_START_DATE传入存储过程的。