ORACLE中JOB的使用

JOB:和JAVA中的job类似,都是定时任务。

首先,建表:

-- Create table
create table MYDAILYDK
(
  ID     NUMBER(19) not null,
  NAME   VARCHAR2(255),
  DKTIME DATE
)
tablespace NG_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

然后,建个存储过程,用来向表里插入数据:

create or replace procedure mbproc_mydailydk

as

begin

insert into mydailydk(id,name,dktime)
values(s_madailydk.nextval,'小明',sysdate);
commit;

end;

JOB参数简介:

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

创建JOB:

begin
  sys.dbms_job.submit(job => :job,
                      what => 'mbproc_mydailydk;',
                      next_date => to_date('08-11-2016 14:22:08', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+1');
  commit;
end;

说明:ORACLE会自动生成唯一的JOB标识,就是submit的第一个参数。

查看创建的job:

     select * from user_jobs;

手动运行Job,参数为自动生成的唯一标识,我的是64,把:job换成64即可,由于我的开始时间是sysdate,手动每天的这个时候去执行一次,因此查看存储过程中插入的表会有一条数据插入:

  begin
  dbms_job.run(:job);
  end;

查看被插入的表:

     select * from mydailydk;

停止job:

  begin
     
       dbms_job.broken(64, true);
     
  end;

删除job:

  begin
     
       dbms_job.remove(64);
     
  end;

另外,关于 dbms_job 这个pakage中的其它函数请自行查阅:change()、Interval()、Isubmit()、Next_Date()等等。

附上pakage的文档的连接:

https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_job.htm#i1000681

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LinXunFeng的专栏

iOS - 揭露Block的内部实现原理

1245
来自专栏C/C++基础

C/C++头文件的作用和用法

示例代码编译运行环境:Windows 64bits+VS2017+Debug+Win32。

911
来自专栏TungHsu

这或许是对小白最友好的python入门了吧——4,列表

有些时候我们要用python处理一系列元素,这个时候我们可以把这一系列元素放到列表中。比如我们考试科目。 请不要在此处直接复制代码! 在python中,列表用...

3226
来自专栏GreenLeaves

SQL学习之用通配符进行数据过滤

一、Like操作符       之前介绍的所有的操作符都是针对已知值进行过滤。不管匹配一个值还是多个值,检验大于还是小于已知值,或者检查某个范围的值,其共同点是...

16910
来自专栏ascii0x03的安全笔记

Xpose菜鸟笔记

1833
来自专栏深度学习之tensorflow实战篇

mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比

mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比 MongoDB 聚合 MongoDB中聚合(aggregate)主要...

3435
来自专栏PHP技术

PHP 底层的运行机制与原理

原文出处: nowamagic 欢迎分享原创到伯乐头条 PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。 PHP是...

2867
来自专栏magicsoar

Effective Modern C++翻译(5)-条款4:了解如何观察推导出的类型

条款4:了解如何观察推导出的类型 那些想要知道编译器推导出的类型的人通常分为两种,第一种是实用主义者,他们的动力通常来自于软件产生的问题(例如他们还在调试解决中...

1798
来自专栏盛国存的专栏

A Bite of GoLang(上)

A bite of GoLang(浅尝GoLang),本文只是Go语言的冰山一角,本文包含作者学习Go语言期间积累的一些小的经验,同时为了方便让读者了解到Go语...

49810
来自专栏欧阳大哥的轮子

手把手教你查看和分析iOS的crash崩溃异常

一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会...

1182

扫码关注云+社区