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; 这个可以执行成功,除了执行间隔外基本是一样的,但为什么上面那个就要出错呢?
以前做SqlServer的?
2.为啥这么问呢?
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;
这个可以执行成功,除了执行间隔外基本是一样的,但为什么上面那个就要出错呢?
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...怎么执行
如果创建OK的话,就不会报无效的错误了。。你换成你下面的存储过程在试一下,看看还报这个错误吗?