ORACLE JOB 使用基础

 

一、ORACLE JOB概述

定时在后台执行相关操作。

例如:每天晚上点将一张表的数据保存到另一张表中;定时备份数据库等操作。

二、创建ORACLE JOB

1、  创建表

/*1、创建表*/

create table job_table(

       j_id number(12),

       j_date date

)

2、  创建序列

/*2、创建序列*/

create sequence job_seq

minvalue 1 maxvalue 999999999999 start with 1 increment by 1;

3、  创建过程

/*3、创建存储过程*/

create or replace procedure job_pro

            is

            begin

                   insert into system.job_table values(job_seq.nextval,sysdate);

 end;

4、  创建job

DECLARE JOB NUMBER;
BEGIN

  SYS.DBMS_JOB.SUBMIT(JOB => JOB,                     
                      WHAT => 'job_pro;',                    
                      NEXT_DATE => sysdate,                    
                      INTERVAL => 'trunc(sysdate)+1+1/1440');
  COMMIT;

END;

DECLARE  JOB NUMBER;
BEGIN
  DBMS_JOB.SUBMIT(JOB,'job_pro;',SYSDATE, 'trunc(sysdate)+1+1/1440');
  COMMIT;
END;

           

            代码讲解:

            job:该参数是工作号(由submit()过程返回的binary_integer),它在问题中唯一标识工作。

            what: 可以理解为,具体要做的操作,这里指向一个存储过程。

            next_date:该参数指示何时此操作被执行。

            interval:该参数指示一个工作重复执行的频度。

            no_parse:该蚕食指示此工作在提交时或执行时是否应进行语法分析,TRUE:标识第一次执行时进行语法分析;FALSE:指示立即进行语法分析

 

注意:如果在job => job, 这里,改成“job => :job,”,oracle则会报“并非所有变量都已绑定”异常。声明了变量后,请把这个冒号去掉!

 PS:dbms_job package包含以下过程:

 ·Broken()过程;

·change()过程;

·interval()过程;

·isubmit()过程;

·next_date()过程;

·remove()过程;

·run()过程;

·submit()过程;

·user_export()过程;

·what()过程;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值