加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle定时器调用存储过程

发布时间:2020-12-12 13:24:25 所属栏目:百科 来源:网络整理
导读:数据库 ? 介绍orcale定时器的简单用法,希望大家一看就能明白? 1.创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表 Sql代码? ? create? table?job_table(run_time? date);?? create table job_table(run_time date); 2.创建存储过程
job broken what interval ... 81 N job_proc; TRUNC(sysdate,‘mi‘) + 1 / (24*60) ... ? 参数介绍? ??job job的唯一标识,自动生成的 ??broken 是否处于运行状态,N;运行;Y:停止 ??what 存储过程名称 ??interval 定义的执行时间 补充:? 描述??????????????????? INTERVAL参数值? 每天午夜12点??????????? ‘‘TRUNC(SYSDATE + 1)‘‘? 每天早上8点30分???????? ‘‘TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)‘‘? 每星期二中午12点???????? ‘‘NEXT_DAY(TRUNC(SYSDATE ),‘‘‘‘TUESDAY‘‘‘‘ ) + 12/24‘‘? 每个月第一天的午夜12点??? ‘‘TRUNC(LAST_DAY(SYSDATE ) + 1)‘‘? 每个季度最后一天的晚上11点 ‘‘TRUNC(ADD_MONTHS(SYSDATE + 2/24,3 ),‘‘Q‘‘ ) -1/24‘‘? 每星期六和日早上6点10分??? ‘‘TRUNC(LEAST(NEXT_DAY(SYSDATE,‘‘‘‘SATURDAY"),NEXT_DAY(SYSDATE,"SUNDAY"))) + (6×60+10)/(24×60)‘‘?? 5.我们查询一下表job_table看看里面的数据 Sql代码?

?

  1. select?*?from?job_table??
select * from job_table
RUN_TIME 2011-7-1 下午 05:21:14 2011-7-1 下午 05:22:04 2011-7-1 下午 05:23:04 6.停止job,停止成功之后查看user_jobs表的broken是否变为Y值了 Sql代码?

?

  1. begin??
  2. ??dbms_job.broken(81,true);??
  3. end;??
  4. commit;??
begin
  dbms_job.broken(81,true);
end;
commit;
7.启动job,启动成功之后查看user_jobs表的broken是否变为N值了 Sql代码?

?

  1. begin??
  2. ??dbms_job.run(81);??
  3. end;??
  4. commit;??
begin
  dbms_job.run(81);
end;
commit;
8.删除job、存储过程、表 Sql代码?

?

  1. delete?user_jobs?where?job=81;??
  2. drop?procedure?job_proc??
  3. drop?table?job_table???
delete user_jobs where job=81;
drop procedure job_proc
drop table job_table 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

  • 数据库
? 介绍orcale定时器的简单用法,希望大家一看就能明白? 1.创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表 Sql代码?

?

  1. create?table?job_table(run_time?date);??
create table job_table(run_time date);
2.创建存储过程 Sql代码?

?

  1. create?or?replace?procedure?job_proc?is??
  2. begin??
  3. ??insert?into?job_table?(run_time)?values?(sysdate);??
  4. end;??
create or replace procedure job_proc is
begin
  insert into job_table (run_time) values (sysdate);
end;
3.创建job,并且指定为一分钟执行一次 Sql代码?

?

  1. declare??
  2. ??job?number;??
  3. begin??
  4. ??dbms_job.submit(job,?‘job_proc;‘,?sysdate,?‘TRUNC(sysdate,‘‘mi‘‘)?+?1?/?(24*60)‘);??
  5. end/??
  6. commit;??
declare
  job number;
begin
  dbms_job.submit(job,‘job_proc;‘,sysdate,‘TRUNC(sysdate,‘‘mi‘‘) + 1 / (24*60)‘);
end/
commit;
4.创建之后自动处于运行状态,我们查询job表,看看我们创建的job Sql代码?

?

  1. select?job,broken,what,interval,t.*?from?user_jobs?t;???
select job,t.* from user_jobs t; 
    推荐文章
      热点阅读