oracle定时器调用存储过程.doc_第1页
oracle定时器调用存储过程.doc_第2页
oracle定时器调用存储过程.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

oracle定时器调用存储过程 博客分类: 数据库介绍orcale定时器的简单用法,希望大家一看就能明白 1.创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表 Sql代码 1. createtablejob_table(run_timedate);create table job_table(run_time date);2.创建存储过程 Sql代码 1. createorreplaceprocedurejob_procis2. begin3. insertintojob_table(run_time)values(sysdate);4. end;create or replace procedure job_proc isbegin insert into job_table (run_time) values (sysdate);end;3.创建job,并且指定为每天中午12点执行e.g: 1, createtablejob_table(run_timedate);2,create or replace procedure job_proc is begin insert into job_table (run_time) values (sysdate); end job_proc; 3,declare job number; begin dbms_job.submit(job,job_proc;,sysdate, TRUNC(SYSDATE + 1) + (12*60)/(24*60) ); end commit;Sql代码 1. declare2. jobnumber;3. begin4. dbms_job.submit(job,job_proc;,sysdate,TRUNC(sysdate,mi)+1/(24*60);5. -每分钟执行6. end/7. 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. selectjob,broken,what,interval,t.*fromuser_jobst;select job,broken,what,interval,t.* from user_jobs t; jobbrokenwhatinterval.81Njob_proc;TRUNC(sysdate,mi) + 1 / (24*60). 参数介绍 jobjob的唯一标识,自动生成的 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) + (660+10)/(2460) 5.我们查询一下表job_table看看里面的数据 Sql代码 1. select*fromjob_tableselect * from job_tableRUN_TIME2011-7-1 下午 05:21:142011-7-1 下午 05:22:042011-7-1 下午 05:23:046.停止job,停止成功之后查看user_jobs表的broken是否变为Y值了 Sql代码 1. begin2. 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. begin2. dbms_job.run(81);3. end;4. commit;begin dbms_job.run(81);end;commit;8.删除job、存储过程、表 Sql代码 1. deleteuser_jobswherejob=81;2. dropprocedurejob_proc3. droptable

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论