★☆

★☆
posts - 0, comments - 0, trackbacks - 0, articles - 80
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

pl/sql每天或每分钟定时执行sql脚本

Posted on 2009-01-05 09:57 阅读(1722) 评论(0)  编辑  收藏 所属分类: PLSQL数据库编程

/**存储过程execute*/
create or replace package myTest is
  PROCEDURE execute(v_day IN VARCHAR2);
end test;


create or replace package body myTest  is

PROCEDURE execute(v_day IN VARCHAR2) as
  begin
    DM_FEE_call(v_day);
    DM_FEE_KA(v_day);
  end;

end myTest ;

创建job,每天定时执行
/**每天11:45执行*/
begin
  sys.dbms_job.submit(job => :job,
                      what => 'myTest.execute();',
                      next_date => to_date('24-12-2008 11:45:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'TRUNC(SYSDATE+1)+(11*60+45)/(24*60)');
  commit;
end;
/

创建job,每隔一分钟定时执行,每隔一份中执行时,时间会有延迟,一般要63秒左右才能定时执行一次,目前没有好的解决方法。
/**每隔一分钟定时执行*/
begin
  sys.dbms_job.change(job => 21,
                      what => 'myTest.execute();',
                      next_date => to_date('24-12-2008 16:45:11', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'SYSDATE+1/(24*60)');
  commit;
end;
/


 


只有注册用户登录后才能发表评论。


网站导航: