日期:2014-05-17  浏览次数:20890 次

job的时候报错
刚学oracle一星期,因为业务需要要写一个job,想写一个job测试一下;结果完全照着书写的,却报错了,求技术牛人们指点!不胜感激

DECLARE 
JOB_ID NUMBER;

BEGIN
dbms_jobs.submit(job=>:JOB_ID,what=>'TEST_JOB;',next_date=>sysdate,interval=>'sysdate+1/1440');
COMMIT;
END;


报了一个[Err] ORA-01008: 并非所有变量都已绑定

------解决方案--------------------
参考:

DECLARE   
  JOB        BINARY_INTEGER; --任务ID  
  v_begin    DATE;           --开始时间
  v_interval VARCHAR2(50);   --时间间隔
BEGIN   
  v_begin:=to_date('10-10-2011 10:30:00', 'dd-mm-yyyy hh24:mi:ss');
  v_interval:= 'trunc(sysdate,''mi'') + 1/ (24*60)';  --每分钟执行一次
  DBMS_JOB.SUBMIT(JOB,
          'prc_test;',        --执行存储过程:prc_test
          v_begin,
          v_interval, 
          FALSE,
          0,
          FALSE);
  COMMIT;
END;

------解决方案--------------------
:JOB_ID  这里是不是不需要冒号