请问如何让一个存储过程在一个特定时间自动执行

hutiefeng9847 2003-12-20 09:29:49
请问如何让一个存储过程在一个特定时间自动执行?
thanks
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckhambobo 2003-12-20
  • 打赏
  • 举报
回复
每个月1号:dbms_job.interval(21, 'last_day(sysdate)+1)');

每天:interval(21,'sysdate+2');

每个星期x:interval(21,'next_day(sysdate,x)'); 1<=x<=7

每个星期x下午三点:interval(21, 'next_day(trunc(sysdate),x+1)+15/24');

每个季度的第一个星期x:
interval(21, 'next_day(trunc(sysdate,''Q''),3),5)');
shuangyu 2003-12-20
  • 打赏
  • 举报
回复
trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
这个job 任务定义了收集数据的时间间隔:
一天有24 个小时,1440 分钟,那么:
1/24 HH 每小时一次
1/48 MI 每半小时一次
1/144 MI 每十分钟一次
1/288 MI 每五分钟一次
shuangyu 2003-12-20
  • 打赏
  • 举报
回复
create or replace procedure aatestproc
as
begin
insert into aatest (val) values(1);
commit;
end;
--上面创建一个过程

SQL> begin
2 dbms_job.submit(:aatestjob,'aatestproc;',sysdate,'sysdate+1/1440');
3 end;
4 /
一天1440分钟,每分钟执行一次

qingbai 2003-12-20
  • 打赏
  • 举报
回复
对!定义一个作业很容易实现
luyuen 2003-12-20
  • 打赏
  • 举报
回复
用job
刘颖博 2003-12-20
  • 打赏
  • 举报
回复
job!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧