此例子打算五分钟运行一次job,请给个job的具体说明
  next_date   Interval这两个参数 
create table testjob(
    username VARCHAR2(20),
    userpassword VARCHAR2(20)
);create or replace procedure pro_job
    is
begin
    insert into testjob (username, userpassword) values(111,123);
    commit;
end;begin
  sys.dbms_job.submit(job       => :jobtest,
                      what      => 'pro_job;',
                      next_date => to_date(sysdate,'yyyy-mm-dd hh24:mi:ss'),
                      Interval => TRUNC(sysdate,'mi') + 5 / (24*60)
);
  commit;
end;并非所有变量都已绑定 这个错误是那里原因?

解决方案 »

  1.   

    begin
      sys.dbms_job.submit(job => :jobtest,
      what => 'pro_job;',
      next_date => to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'),
      Interval => TRUNC(sysdate,'mi') + 5 / (24*60)
    );
      commit;
    end;
      

  2.   

    DECLARE
      jobtest NUMBER; --需要一个出口参数
    BEGIN
      sys.dbms_job.submit(job       => jobtest, --局部变量就不要冒号了
                          what      => 'p_arr;',
                          next_date => sysdate, --sysdate返回已是一个日期型,不要再to_date
                          INTERVAL  => 'TRUNC(sysdate,''mi'') + 5 / (24*60)');--INTERVAL是VARCHAR参数
      COMMIT;
    END;
    /
      

  3.   

    --晕~~上面代码格式化成这样了??另外贴一次吧
    DECLARE
      jobtest NUMBER; --需要一个出口参数
    BEGIN
      sys.dbms_job.submit(job       => jobtest,
                          what      => 'p_arr;',
                          next_date => sysdate, --sysdate返回已是一个日期型,不要再to_date
                          INTERVAL  => 'TRUNC(sysdate,''mi'') + 5 / (24*60)');--INTERVAL是VARCHAR参数
      COMMIT;
    END;
    /
      

  4.   

    --再贴一次,改一下
    DECLARE
      jobtest NUMBER; --需要一个出口参数
    BEGIN
      sys.dbms_job.submit(job => jobtest,
      what => 'pro_job;',
      next_date => sysdate, --sysdate返回已是一个日期型,不要再to_date
      INTERVAL => 'TRUNC(sysdate,''mi'') + 5 / (24*60)');--INTERVAL是VARCHAR参数
      COMMIT;
    END;
    /