Oracle定时任务,是定时调用存储过程,执行存储过程中的SQl语句

SQl实例

建立存储过程

-- 建立存储过程
CREATE or replace PROCEDURE UPDATE_AGENCY is BEGIN UPDATE AGENCY SET AGENCY.STATUS = 'Y' WHERE AGENCY.NAME = '@濮阳生态经营部' OR AGENCY.NAME = '肆无忌惮经营部' OR AGENCY.NAME = '铠甲经营部'; -- 需要执行的SQl语句 end;
-- 根据存储过程昵称 查看存储任务
Select text from user_source where name='UPDATE_AGENCY' order by line; -- 删除存储过程
DROP PROCEDURE UPDATE_AGENCY;

注意:存储过程当中每条SQL必须以;分号符号结尾,否则创建任务引用存储过程是会报错,找不到存储过程

创建定时任务

-- 创建任务
declare tm_jobb number; --tm_joba定时任务名称 begin sys.dbms_job.submit( tm_jobb, --任务名称 'UPDATE_AGENCY;',--执行的存储过程 sysdate,--执行时间 'TRUNC(SYSDATE + 1) + (11*60+55)/(24*60)');--下次执行时间 11:55 COMMIT; end; -- 查看定时任务
SELECT * FROM user_jobs; -- 手动启动
BEGIN dbms_job.run(25); END; -- 停止任务
BEGIN dbms_job.broken(25,true); END; -- 删除任务
begin dbms_job.remove(25);--ALL_JOBS.job的值 end;

存job信息的表user_jobs主要字段说明:

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)''

每3秒钟执行一次             'sysdate+3/(24*60*60)'

每2分钟执行一次           'sysdate+2/(24*60)'

每分钟执行

Interval => TRUNC(sysdate,'mi') + 1/ (24*60) --每分钟执行

interval => 'sysdate+1/(24*60)'  --每分钟执行

interval => 'sysdate+1'    --每天

interval => 'sysdate+1/24'   --每小时

interval => 'sysdate+2/24*60' --每2分钟

interval => 'sysdate+30/24*60*60'  --每30秒

每天定时执行

Interval => TRUNC(sysdate+1)  --每天凌晨0点执行

Interval => TRUNC(sysdate+1)+1/24  --每天凌晨1点执行

Interval => TRUNC(SYSDATE+1)+(8*60+30)/(24*60)  --每天早上8点30分执行

每周定时执行

Interval => TRUNC(next_day(sysdate,'星期一'))+1/24  --每周一凌晨1点执行

Interval => TRUNC(next_day(sysdate,1))+2/24  --每周一凌晨2点执行

每月定时执行

Interval =>TTRUNC(LAST_DAY(SYSDATE)+1)  --每月1日凌晨0点执行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24  --每月1日凌晨1点执行

每季度定时执行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q')  --每季度的第一天凌晨0点执行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q') + 1/24  --每季度的第一天凌晨1点执行

Interval => TRUNC(ADD_MONTHS(SYSDATE+ 2/24,3),'q')-1/24  --每季度的最后一天的晚上11点执行

每半年定时执行

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24  --每年7月1日和1月1日凌晨1点

每年定时执行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24  --每年1月1日凌晨1点执行

注意:存储过程中执行的SQL语句一定要以;结尾

Oracle定时任务(执行某一SQL语句)的更多相关文章

  1. oracle 查询执行过的SQL语句

    SELECT * FROM v$sqlarea t WHERE t.FIRST_LOAD_TIME between '2016-12-23/16:03:00' and '2016-12-23/16:0 ...

  2. oracle 查询最近执行过的 SQL语句(转载)

    oracle 查询最近执行过的 SQL语句 (2014-06-09 18:02:43) 转载▼   分类: Database oracle 查询最近执行过的 SQL语句 select sql_text ...

  3. oracle 查询最近执行过的 SQL语句

    oracle 查询最近执行过的 SQL语句 select sql_text,last_load_time from v$sql order by last_load_time desc;   SELE ...

  4. 如何在Oracle中一次执行多条sql语句 (.net C#)

    关键是不能换行,要加上begin ...sql... end;     每个SQL用:隔开,end后面必须加: 以下是拷贝于:http://www.cnblogs.com/teamleader/arc ...

  5. Oracle查询最近执行过的SQL语句

    oracle 查询最近执行过的 SQL语句 select sql_text,last_load_time from v$sql order by last_load_time desc; SELECT ...

  6. ORACLE 查看有多个执行计划的SQL语句

    在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一 ...

  7. (学)如何在Oracle中一次执行多条sql语句

    队长同学原来的地址:https://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html队长同学原来的描述: 有时我们需要一次性执行多条s ...

  8. 使用ODP.NET一次执行多句SQL语句

    在实际开发的时候有的时候希望一次执行多句SQL语句,又不想使用Transcation的话,可以直接将多句SQL语句拼接起来.例如: var sql = "Begin " + &qu ...

  9. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句

    参考帖子:http://www.cnblogs.com/han-1034683568/p/6730869.html Druid数据连接池简介 Druid是Java语言中最好的数据库连接池.Druid能 ...

  10. 利用pl/sql执行计划评估SQL语句的性能简析

    一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在.  那么,作为 ...

随机推荐

  1. pytorch在有限的资源下部署大语言模型(以ChatGLM-6B为例)

    pytorch在有限的资源下部署大语言模型(以ChatGLM-6B为例) Part1知识准备 在PyTorch中加载预训练的模型时,通常的工作流程是这样的: my_model = ModelClass ...

  2. Typora 隐藏侧边栏图片文件夹

    前言 在使用 Typora 的时候,我将图片的保存路径设置为了如下所示: 这样设置是为了更方便的管理笔记中的图片,但图片文件夹却也显示在了侧边栏中,随着笔记增多,我的侧边栏越来越乱... 难道要忍气吞 ...

  3. Tomacat乱码和报错UTF-8 序列的字节 2 无效和‘application/json;charset=UTF-8‘ not supported的处理

    文章目录 前言 1. tomcat乱码的处理方法 2. applicationContext.xml报错2 字节的 UTF-8 序列的字节 2 无效 3. 报错'application/json;ch ...

  4. office办公套件基础教程

    正文 1.网页端的应用-office全家桶 这里我选择先聊web端的应用,首先,我们来想象一下,只要你有网络,有浏览器,就能打开一个网页,在网页上进行编辑.处理一些word.报表.ppt等,你不需要复 ...

  5. JavaWeb 中 Filter过滤器

    Filter过滤器 每博一文案 师傅说:人生无坦途,累是必须的背负,看多了,人情人暖,走遍了离合聚散,有时会 在心里对自己说,我想,我是真的累了,小时候有读不完的书,长大后有赚不尽的力. 白天在外要奋 ...

  6. drf——序列化之source(了解)、定制字段的两种方式(重要)、多表关联反序列化保存、反序列化字段校验、ModelSerializer使用

    1 序列化高级用法之source(了解) # 1.创建了5个表(图书管理的5个) # 2.对book进行序列化 # 总结:source的用法 1.修改前端看到的字段key值--->source指 ...

  7. JS 数组常用操作全集

    文章目录 1.push()方法 2.unshift()方法 3.pop() 方法 4.shift() 方法 5.filter() 方法 6.join()方法 7. indexOf() 方法 8.rev ...

  8. Cobalt Strike 连接启动教程(1)

      第一步:把cobaltstrike4(解压后)拷贝到虚拟机Kali系统的root目录下 第二步:进入cobalstrike4文件夹中 第三步:选寻kali系统 IP地址 第四步: 启动服务端:(t ...

  9. 测序数据学习笔记:bcl2fastq 安装

    相比二进制的 bcl2fastq2,基于 Perl 语言的 bcl2fastq-1.8.4 或许是从源码层面学习了解 Illumina 测序数据处理一个不错的选择.源码版本的 bcl2fastq-1. ...

  10. 经纬度坐标为中心点生成米距离长度半径的圆形面,含java js源码+在线绘制,代码简单零依赖

    目录 java版源码 js版源码 在线绘制预览效果 关于计算的精确度 前些时间在更新我的坐标边界查询工具的时候,需要用到经纬度坐标点的距离计算,和以坐标点为中心生成一个指定距离为半径的圆,搜了一下没有 ...