关于oracle job 提问,紧急
要实现的目标是每天的0点0分执行
update bbsleftTree set flag_3=0;该语句一次。开始时间是明天早上的0点0分
参考别人的代码,如下:
----创建job
----创建一个自定义过程
SQL> create or replace procedure MYPROC as
2 begin
3 update bbslefttree set flag_3=0;
4 end;
5 /
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1, 'MYPROC; ',sysdate, 'sysdate+1 '); --每天执行一次
3 end;
4 /
----运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
----将job的初始运行时间改为2007-05-24 00:00:00
SQL> begin
2 DBMS_JOB.CHANGE(:job1,null,to_date( '2007-05-24 00:00:00 '),null);
3 end;
不知道是否有问题?请帮忙看看,
------解决方案--------------------1.应该在update bbslefttree set flag_3=0;
后面加上commit;
2.参考例子:
SQL> variable jobno number;
SQL> begin
sys.dbms_job.submit(job => :jobno,
what => 'jyc_undo_set; ',
next_date => to_date( '29-04-2007 00:00:00 ', 'dd-mm-yyyy hh24:mi:ss '),
interval => 'trunc(sysdate, ' 'DD ' ')+1 '
);
end;
/