PL/SQL之JOB用法 (定时跑数据)

转载自   PL/SQL之JOB用法 (定时跑数据)

一、DBMS_Job包的用法
  包含以下子过程:     
  Broken()过程。   
  change()过程。   
  Interval()过程。   
  Isubmit()过程。   
  Next_Date()过程。   
  Remove()过程。   
  Run()过程。   
  Submit()过程。   
  User_Export()过程。   
  What()过程。   
    
  1、Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作。   
  这个过程有三个参数:job   、broken与next_date。   

  PROCEDURE   Broken   (job               IN   binary_integer,   Broken         IN   boolean,   next_date   IN   date   :=SYSDATE)   

  job参数是工作号,它在问题中唯一标识工作。   
  broken参数指示此工作是否将标记为破——TRUE说明此工作将标记为破,而FLASE说明此工作将标记为未破。   
  next_date参数指示在什么时候此工作将再次运行。此参数缺省值为当前日期和时间。   
    
      
  2、Change()过程用来改变指定工作的设置。   
  这个过程有四个参数:job、what   、next_date与interval。   

 PROCEDURE   Change   (job                 IN   binary_integer,   What               IN   varchar2,   next_date     IN   date,   interval       IN   varchar2)   

 此job参数是一个整数值,它唯一标识此工作。   
  What参数是由此工作运行的一块PL/SQL代码块。   
  next_date参数指示何时此工作将被执行。   
  interval参数指示一个工作重执行的频度。   
    

  3、Interval()过程用来显式地设置重执行一个工作之间的时间间隔数 
  这个过程有两个参数:job与interval。   

PROCEDURE   Interval   (job             IN   binary_integer,   Interval   IN   varchar2)   

  job参数标识一个特定的工作。interval参数指示一个工作重执行的频度。   
    
   
  4、ISubmit()过程用来用特定的工作号提交一个工作
  这个过程有五个参数:job、what、next_date、interval与no_parse。   

 PROCEDURE   ISubmit   (job               IN   binary_ineger,   What             IN   varchar2,   next_date   IN   date,   interval     IN   varchar2,   no_parse     IN   booean:=FALSE)   

   这个过程与Submit()过程的唯一区别在于此job参数作为IN型参数传递且包括一个   
  由开发者提供的工作号。如果提供的工作号已被使用,将产生一个错误。   
    
    
  5、Next_Date()过程用来显式地设定一个工作的执行时间。这个过程接收两个参数:job与next_date。   

  PROCEDURE   Next_Date(job                   IN   binary_ineger,   next_date       IN   date)   

  job标识一个已存在的工作。next_date参数指示了此工作应被执行的日期与时间。   
    
    
  6、Remove()过程来删除一个已计划运行的工作。这个过程接收一个参数:   

  PROCEDURE   Remove(job   IN     binary_ineger);   

  job参数唯一地标识一个工作。这个参数的值是由为此工作调用Submit()过程返回的job参数的值。   
  已正在运行的工作不能由调用过程序删除。   
    
   
  7、Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:   

  PROCEDURE   Run(job   IN   binary_ineger)     

 job参数标识将被立即执行的工作。   
    
    
    
  8、使用Submit()过程,工作被正常地计划好。   
  这个过程有五个参数:job、what、next_date、interval与no_parse。   

 PROCEDURE   Submit   (   job               OUT   binary_ineger,   What             IN     varchar2,   next_date   IN     date,   interval     IN     varchar2,   no_parse     IN     booean:=FALSE)   

  job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。   
  what参数是将被执行的PL/SQL代码块。   
  next_date参数指识何时将运行这个工作。   
  interval参数何时这个工作将被重执行。   
  no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE   
  指示此PL/SQL代码在它第一次执行时应进行语法分析,   
  而FALSE指示本PL/SQL代码应立即进行语法分析。   
    

  9、User_Export()过程返回一个命令,此命令用来安排一个存在的工作以便此工作能重新提交。   
  此程序有两个参数:job与my_call。   

PROCEDURE   User_Export(job                 IN   binary_ineger,   my_call         IN   OUT   varchar2)   

  job参数标识一个安排了的工作。my_call参数包含在它的当前状态重新提交此工作所需要   
  的正文。   
    

  10、What()过程应许在工作执行时重新设置此正在运行的命令。这个过程接收两个参数:job与what。   

  PROCEDURE   What   (job     IN   binary_ineger,   What   IN   OUT   varchar2)   

job参数标识一个存在的工作。what参数指示将被执行的新的PL/SQL代码。   
    
    
    
  二、一个简单例子    
    
  创建测试表   

  SQL>   create   table   a(a   date);   

  表已创建。     
  创建一个自定义过程   

  SQL>   create   or   replace   procedure   test   as   2     begin   3     insert   into   a   values(sysdate);   4     end;   5     /   

  过程已创建。

   
  创建JOB   

  SQL>   variable   job1   number;   SQL>     SQL>   begin   2     dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次   3     end;   4     /   

  PL/SQL   过程已成功完成。   


  运行JOB   

  SQL>   begin   2     dbms_job.run(:job1);   3     end;   4     /   

  PL/SQL   过程已成功完成。   
   

  SQL>   select   to_char(a,'yyyy/mm/dd   hh24:mi:ss')   时间   from   a;   

  时间   
  -------------------   
  2001/01/07   23:51:21   
  2001/01/07   23:52:22   
  2001/01/07   23:53:24   
    
 

 删除JOB   

  SQL>   begin   2     dbms_job.remove(:job1);   3     end;   4     /   

 PL/SQL   过程已成功完成。  
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Orleans解决并发之痛(四):Streams

Orleans 提供了 Stream扩展编程模型。此模型提供了一套API,使处理流更简单和更健壮。Stream默认提供了两种Provider,不同的流类型可能使用不同的Provider来处理,Simple Message Stream Provider 和 Azure Queue Stream Provider。Stream Prov…

POJ3764-The xor-longest Path【Trie(字典树)】

正题 POJ题目链接:http://poj.org/problem?id3764 其实loj也有题目:https://loj.ac/problem/10056 题目大意 一棵树,求两个点使他们的之间的边的异或值最大。 解题思路 我们可以先算出所以点离根的路上的边的异或值,记为didi,然后根据异…

2022的第一天,立个目标

时光如白驹过隙,一晃已经20多年过去了,在这些年中,可谓社会的百般形态都已经历过…… 14年辍学,独自一人来到济南打工。15年辞职,开始上学学计算机。16年继续学习。17年毕业,以优秀的成绩被留校任用为教员…

Oracle的分页实现

转载自 Oracle的分页实现 在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID关键字,下面来详细介绍一下: 1、ROWNUM 其代码为: SELECT *FROM (SELECT ROW_.*, ROWNUM ROWNUM_FROM (SELECT *FROM TABLE1WHERE TA…

如何编写更好的SQL查询:终极指南-第二部分

上一篇文章《如何编写更好的SQL查询:终极指南-第一部分》中,我们学习了 SQL 查询是如何执行的以及在编写 SQL 查询语句时需要注意的地方。 下面,我进一步学习查询方法以及查询优化。 基于集合和程序的方法进行查询 反向模型中隐含的事实是…

POJ3349,洛谷SP4354-SnowflakeSnowSnowflakes【最小表示法,hash】

正题 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidSP4354 POJ题目链接:http://poj.org/problem?id3349 题目大意 有n片雪花,他们6个角有不同的长度,如果两片雪花6个角长度相同(可以不同方向)&#…

publiccms实现遍历多级分类下的不同样式内容

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 前言 现在是2022年1月2日17:06:51,假期这两天都在做publiccms。 上篇文章遗留的问题,最终还是没有按照富文本去做,后期在看吧; 今天遇到了个问题&…

四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列

转载自 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列 俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构…

.NET Core 2.0应用程序大小减少50%

.NET Core 2.0应用程序减小体积瘦身官方工具 IL Linker。 IL Linker 来源于mono的linker https://github.com/mono/linker,目前还是预览版本。 在一般的情况下,链接器可以将应用程序的大小减少50%,大型应用程序的大小可能更有利…

P1368-工艺【最小表示法】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1368 题目大意 n个块,可以进行若干次将最左边的方块放在最右边,然后如果前面那个比后面那个瑕疵度小那么前面那个就是美丽的,求一个让最美丽的序列。 解题思路 求…

Orleans解决并发之痛(五):Web API

通过前面几篇文章的介绍,可能会疑问怎么在实际开发中调用Grain,之前Demo的Client都是基于控制台应用程序,实际开发下可能是基于Web Form、Web API、MVC......,由于一时短路了,没有联想到控制台应用程序的方式怎么切到其…

ASP.Net Core WebApi几种版本控制对比

一、版本控制的好处: (1)有助于及时推出功能, 而不会破坏现有系统。 (2)它还可以帮助为选定的客户提供额外的功能。 API 版本控制可以采用不同的方式进行控制,方法如下: (1&…

POJ2279-Mr. Young's Picture Permutations【线性dp】

正题 题目链接:http://poj.org/problem?id2279 题目大意 有k列,每列人数不同,要求从左到右和从前到后身高都单调递减,学生高度是1∼N1∼N(人数总和) 解题思路 我们开一个五维数组,然后每次在人少那列填充,按照这总…

JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】

正题 题目链接:http://www.joyoi.cn/problem/tyvj-1071 题目大意 求两个序列的最长公共上升子序列。 code 我们先回顾一下LIS和LCS LIS:fimax{fj1}(j<i,aj<ai)fimax{fj1}(j<i,aj<ai)LCS:fi,jmax⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪fi−1,jfi,j−1fi−1,j−11(a…

asp.net core策略授权

在《asp.net core认证与授权》中讲解了固定和自定义角色授权系统权限&#xff0c;其实我们还可以通过其他方式来授权&#xff0c;比如可以通过角色组&#xff0c;用户名&#xff0c;生日等&#xff0c;但这些主要取决于ClaimTypes&#xff0c;其实我们也可以自定义键值来授权&a…

Safari浏览器不支持let声明的解决方式

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年1月7日16:19:38,前几天用publiccms改了个网站&#xff0c;因为客户那边各种机型都有&#xff08;各PC端的分辨率也都不一样&#xff09;&#xff0c;所以导致页面呈现的效…

Executor 与 ExecutorService 和 Executors 傻傻分不清

转载自 Executor 与 ExecutorService 和 Executors 傻傻分不清 java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent. Executors 这三者均是 Java Executor 框架的一部分&#xff0c;用来提供线程池的功能。因为创建和管理线程非常心…

POJ3666-Making the Grade【线性dp】

正题 题目链接&#xff1a;http://poj.org/problem?id3666 题目大意 给定序列A,B。要求B严格单调&#xff0c;要求最小化 S∑Ni1|Ai−Bi|S∑Ni1|Ai−Bi|解题思路 根据书上说的数学归纳法&#xff0c;我们可以证明在S最小化的条件下&#xff0c;一定存在一种构造B的方案&am…

ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置

在 ASP.NET Core 里扩展 Razor 查找视图目录不是什么新鲜和困难的事情&#xff0c;但 _ViewStart 和 _ViewImports 这2个视图比较特殊&#xff0c;如果想让 Razor 在我们指定的目录中查找它们&#xff0c;则需要耗费一点额外的精力。本文将提供一种方法做到这一点。注意&#x…

Safari浏览器不支持……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂前言现在是2022年1月7日16:19:38,前几天用publiccms改了个网站&#xff0c;因为客户那边各种机型都有&#xff08;各PC端的分辨率也都不一样&#xff09;&#xff0c;所以导致页面呈现的效果…