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

建job时报错 ORA-01008 并非所有变量都已绑定
SQL code

begin
  sys.dbms_job.submit(job => :jobno,
                      what => 'BACKUPTABLE(30);',
                      next_date => to_date(to_char(sysdate+1,'yyyy-mm-dd ')||'01:00:00', 'yyyy-mm-dd hh24:mi:ss'),
                      interval => 'sysdate+1');
  commit;
end;
/



代码很简单,也知道有问题,应该是如下形式,但是我的问题是,上面的代码有的时候好使,有的时候报错(ORA-01008 并非所有变量都已绑定):
SQL code

declare
jobno number;
begin
  sys.dbms_job.submit(job => jobno,
                      what => 'BACKUPTABLE(30);',
                      next_date => to_date(to_char(sysdate+1,'yyyy-mm-dd ')||'01:00:00', 'yyyy-mm-dd hh24:mi:ss'),
                      interval => 'sysdate+1');
  commit;
end;
/



------解决方案--------------------
to_date(to_char(sysdate+1,'yyyy-mm-dd ')||'01:00:00', 'yyyy-mm-dd hh24:mi:ss')
为什么要这样写?????