创建了存储过程以后创建job,但是提示如下错误:好像是说存储过程无效?
但是存储过程中的每一条语句我都按顺序执行过了,完全可以执行的。
另外我建了测试表和存储过程,创建job,创建成功,可以运行。为什么会出现这样的情况呢?

解决方案 »

  1.   

    信息不全, 没法判断,evd_go是你的过程?
    以前做SqlServer的?
      

  2.   

    1.对,evd_go是由几条语句组成的一个存储过程
    2.为啥这么问呢?
      

  3.   


    declare jobEvd number;--submit job
    begin
    sys.dbms_job.submit(jobEvd,'evd_go;',to_date('2011-02-21 14:30:00','yyyy-mm-dd hh24:mi:ss'),'TRUNC(SYSDATE + 1)+(8*60+30)/(24*60)');
    end;执行这个的时候出错的,错误信息里面显示Source of PACKAGE BODY SYS.DBMS_JOB is not available
    但是执行另外一个job就没有这个问题declare jobN number;
    begin
    sys.dbms_job.submit(jobN,'prc_g_test;',to_date('2011-02-18 15:00:00','yyyy-mm-dd hh24:mi:ss'),'sysdate+1/1440');--每分钟执行一次
    end;
    这个可以执行成功,除了执行间隔外基本是一样的,但为什么上面那个就要出错呢?
      

  4.   

    存储过程能执行吗?就是execute evd_go 这个能执行吗?
      

  5.   

    第二个参数写错了
    sysdate:job执行的开始时间 
    interval:job执行的间隔时间 TRUNC(SYSDATE + 1)+(8*60+30)/(24*60) 的意思是明天上午8.30,下次执行时间你这么写也是不对的,今天22号,TRUNC(SYSDATE + 1)+(8*60+30)/(24*60) 是23号8.30,到了23号的时候是24号的8.30...怎么执行
      

  6.   

    你确定你的存储过程evd_go已经创建好了吗?
    如果创建OK的话,就不会报无效的错误了。。你换成你下面的存储过程在试一下,看看还报这个错误吗?