begin  2  dbms_job.submit(:job,'p_joba1(''xxxxx'');',trunc(sysdate),'trunc(sysdate+1)');
  3  end;
  4  /...
p_joba1(str); 是一个带参数的Procedure如果换p_joba()不带参数的Procedure的能编译通过

解决方案 »

  1.   


    begin
      sys.dbms_job.submit(job => :job,
                          what => '-- 月报表统计
    bb_ybb_data(''2010-07-01'');
    bb_ybb_data(null);',
                          next_date => to_date('25-06-2010 17:05:22', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'sysdate+(60/(24*60))');
      commit;
    end;
    /给你参考
      

  2.   

    如果你在job中调用了一个不带参数的procedure的话,应该这样使用(如:procedure名称为:P_joba):
    dbms_job.submit(:job,'p_joba;',trunc(sysdate),'trunc(sysdate+1)');
      

  3.   

    /*编写作业*/
    VARIABLE JOB NUMBER;
    BEGIN
      DBMS_JOB.SUBMIT(
        JOB => :JOB,  /*自动生成JOB_ID*/
        WHAT => 'CREATE_TASK_BY_PLAN;',  /*需要执行的过程或SQL语句*/
        NEXT_DATE => TRUNC(SYSDATE+1)+6/24,  /*初次执行时间*/
        INTERVAL => 'TRUNC(SYSDATE+1)+6/24');  /*执行周期*/
        COMMIT;
    END; 
    /*这个块执行完成之后就会生成此JOB的ID
    之前一直出现ORA-01008参数没有完全绑定*//*执行作业*/
    BEGIN
      DBMS_JOB.RUN(JOB_ID);
    END;