create or replace procedure proc_update_job
is
  jobname varchar2(20);
  enabled int;
  repeat_interval varchar2(50);
begin
 dbms_scheduler.set_attribute(jobname,'repeat_interval',repeat_interval);
 if(enabled=1)then
  dbms_scheduler.enable(jobname);
  else
  dbms_scheduler.disable(jobname);
 end if;
commit;
end;我测试这个存储过程 怎么没有可输入的参数

解决方案 »

  1.   

    create or replace procedure proc_update_job
    你的过程本来就没有输入参数啊,你要输入什么啊?create or replace procedure proc_update_job(aa in varchar2,...)
      

  2.   

    create or replace procedure proc_update_job(
      jobname  in varchar2,
      enabled in int,
      repeat_interval in varchar2)
      is
    begin
     dbms_scheduler.set_attribute(jobname,'repeat_interval',repeat_interval);
     if(enabled=1)then
      dbms_scheduler.enable(jobname);
      else
      dbms_scheduler.disable(jobname);
     end if;
    commit;
    end;每次参数都是一样的,就第一次调用的时候执行成功了后面调用就报错执行到dbms_scheduler.enable(jobname);报ORA-27476: "SYS.AUTO_TASKS_JOB_CLASS" 不存在
      

  3.   

    假如我先执行这句代码以后
    begin
       Dbms_ScheduLER.disable('JOB_HOUSE');
    COMMIT;
    END;执行下面这句是可以的
    begin
    dbms_scheduler.enable('JOB_HOUSE');
    COMMIT;
    END;但是我用存储过程就报错create or replace procedure proc_update_job
      is
    begin
       dbms_scheduler.enable('JOB_HOUSE');
    commit;
    end;
      

  4.   

    报ORA-27476: "SYS.AUTO_TASKS_JOB_CLASS" 不存在