首页 > 数据库 >创建ORACLE JOB

创建ORACLE JOB

时间:2023-04-30 21:05:18浏览次数:35  
标签:begin jobs 创建 job test JOB date ORACLE end


oracle job简介
主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等

熟化说万事开头难,这里我只简单记述一个创建一个简单的job
步骤如下:
1、创建一张表g_test
create table G_TEST
(
ID        NUMBER(12),
C_DATE DATE
)
2、创建一个sequence
create sequence G_SEQ
minvalue 1
maxvalue 999999999999999999999999 999
start with 141
increment by 1
cache 20;

3、创建一个存储过程
create or replace procedure prc_g_test is
begin
insert into g_test values(g_seq.nextval,sysdate);
end prc_g_test;

4、创建job,
使用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代码应立即进行语法分析。

在command window窗口中执行下面脚本
variable job1 number;
begin
sys.dbms_job.submit(job => :job,
what => 'prc_g_test;',
next_date => to_date('22-10-2008 10:06:41', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
commit;
end;
/

----------------------------------------------------------------------------------
在plSQL中我的做法是:

declare   
job number;         
begin
sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
end;
----------------------------------------------------------------------------------

5、查看创建的job
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs

6、 运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
SQL> begin
2  dbms_job.run(:job);
3  end;
4  /

----------------------------------------------------------------------------------
在plSQL中我的做法是:
begin
dbms_job.run(3017);
end;
----------------------------------------------------------------------------------

7、 删除JOB
SQL> begin
2  dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
3  end;
4  /


说明:在sqlplus命令行直接定义变量要variable!!!! 

标签:begin,jobs,创建,job,test,JOB,date,ORACLE,end
From: https://blog.51cto.com/u_548275/6238241

相关文章

  • 【npm】创建私有npm包,使用Verdaccio
    1、npm官网可以创建私有npm包,但是要收费,每人每月7$,先找免费的2、在线的免费的有GitHub,可以看文章:https://andreybleme.com/2020-05-31/hosting-private-npm-packages-for-free/3、自己本地搭建仓库,可以使用开源项目 verdaccio,这个项目的前身是 sinopia,前身已经不维护了,verdaccio......
  • 五、创建项目微服务--谷粒商城
    1)从gitee初始化一个项目登录码云,新建仓库创建完成之后,复制项目地址 打开idea,选择file,new->projectfromversionControl 输入地址在克隆的时候,idea会弹出输入码云用户名密码的窗口,是码云的,不是Git的。这个项目作为总项目,接下来,会在这个项目下面创建各个微服务项目。......
  • 创建队列时对结构体指针的理解
    1#include<stdio.h>2#include<stdlib.h>34#defineElemTypeint56//定义队列结点7typedefstructQNode8{9ElemTypedata;10structQNode*next;11}QNode,*QNodePrt;1213//定义队首、队尾指针14typedefstruct15{16QNo......
  • 四:轻松学设计模式:创建型、结构型、行为型概览
    在软件开发的世界中,有一个众所周知的词汇——设计模式。设计模式是一种解决特定问题的优雅方案,代码让人看起来就有种自然的感觉。现在,我们就来轻松、幽默地了解一下这些神秘的设计模式吧!创建型(Creational):生孩子还是领养?这里有五种方法!1、单例模式(Singleton):只要一个宝贝!想象一下,......
  • c语言创建队列的链式存储
    #include<stdio.h>#include<stdlib.h>typedefstructLinkNode{intdata;structLinkNode*next;}LinkNode;typedefstructLink{LinkNode*front,*rear;//frontrear为链表的伴随指针}LinkQueue;//初始化voidInitQueue(LinkQueue*......
  • docker 创建mysql及卷挂载
    dockerpullmysql:5.7dockerrun-d-p3307:3306-v/home/mysql/conf:/etc/mysql/conf.d-v/home/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=root--namemysql57mysql:5.7----------------------------------------------d后台运行-p3307:3306端口映射-v......
  • C++用new创建的对象和不用new创建的对象的区别
     在C++中,使用new关键字来创建对象时,与不使用new关键字来创建对象时,会产生以下几个区别:内存管理:使用new关键字来创建对象时,由编译器来决定分配内存的方式,这样可以更有效地利用内存资源。而不使用new关键字来创建对象时,则需要手动分配内存,可能会浪费一些内存资源。对象生命周期......
  • Midjourney 创建私人画图机器人(保姆级教程)
    本教程收集于:AIGC从入门到精通教程汇总之前给大家介绍过了Midjourney的注册教程:AI绘画:Midjourney注册(保姆级教程)也有StableDiffusion(开源)的本地搭建教程:AI数字绘画:stable-diffusion本地部署教程你是不是遇到以下问题:1.Midjourney会员怎么自建绘图服务器,不受其他人的打扰?......
  • 【python基础】创建和删除目录
    前言importosimportshutilpath='/home/tfl19671/out'ifnotos.path.exists(path):os.mkdir(path)else:shutil.rmtree(path,True)os.mkdir(path)其中shutil.rmtree(filepath,ignore_errors=True)删除整个filepath路径的内容。如果ignore_errors=True,则表示删除......
  • Win32 API从磁盘文件图片创建工具栏图标
    关键字:Win32API从磁盘,文件,图片创建工具栏图标,包含提示文字。编译命令:g++demo01.cpp-mwindows-lcomctl32-ldwmapi-odemo01-static-Wall-std=c++11#defineUNICODE#include<Windows.h>#include<strsafe.h>#include<commctrl.h>/******CALLBACK代表__stdcall......