zoukankan      html  css  js  c++  java
  • 一个简单的Oracle任务

    一、在PLSQL中创建表:

    create table HWQY.TEST(CARNO VARCHAR2(30),CARINFOID NUMBER)

    二、在PLSQL中创建存储过程:

    create or replace procedure pro_test
    AS
    carinfo_id 
    number;
    BEGIN
    select s_CarInfoID.nextval into carinfo_id from dual;
    insert into test(test.carno,test.carinfoid) values(carinfo_id,'123');
    commit;
    end pro_test;

    三、在SQL命令窗口中启动任务:
    在SQL>后执行:

    VARIABLE jobno number;
    begin
    DBMS_JOB.SUBMIT(:jobno,
    'pro_test;',SYSDATE,'sysdate+1/24/12');
    commit;
    end;
    /

    四、跟踪任务的情况(查看任务队列):

    SQL>  select job,next_date,next_sec,failures,broken from user_jobs;

           JOB NEXT_DATE   NEXT_SEC           FAILURES BROKEN
    ---------- ----------- ---------------- ---------- ------
             1 2008-2-22 ?01:00:00                  0 N


    说明有一个任务存在了。
    执行 select * from test t 查看定时任务的结果。可以看出定时任务是正常执行了的。

    五、停止已经启动的定时任务:

    先执行 select job,next_date,next_sec,failures,broken from user_jobs; 以查看定时任务的job号。
    在SQL>中执行下面的语句停止一个已经启动的定时任务:

    begin
     dbms_job.remove(
    1);
    commit;
    end;
    /


    表示停止job为1的任务。
    执行后显示如下:PL/SQL procedure successfully completed

    六、查看进程数:

    show parameter job_queue_processes;
    --必须>0,否则执行下面的命令修改:
    alter system set job_queue_processes=5;

    七、再创建一个任务(每5分钟执行一次):

    variable jobno number;
    begin
    dbms_job.submit(:jobno, 
    'pro_test;',sysdate,'sysdate+1/24/12');
    commit;
    end;
     
    /

    建立一个定时任务后,在PLSQL中查看JOB,它的sql语句类似的是如下:

    begin
    sys.dbms_job.submit(job 
    => :jobno,
    what 
    => 'pro_test;',
    next_date 
    => to_date('21-02-2008 17:37:26''dd-mm-yyyy hh24:mi:ss'),
    interval 
    => 'sysdate+1/24/12');
    commit;
    end;
    /

    所以,创建一个任务的完整的格式是:

    variable jobno number;
    begin
    sys.dbms_job.submit(job 
    => :jobno,
    what 
    => 'pro_test;',
    next_date 
    => to_date('21-02-2008 17:37:26''dd-mm-yyyy hh24:mi:ss'),
    interval 
    => 'sysdate+1/24/12');
    commit;
    end;
    /
    --系统会自动分配一个任务号jobno。

    八、 执行结果:

    select job,next_date,next_sec,failures,broken from user_jobs;

    JOB NEXT_DATE NEXT_SEC FAILURES BROKEN
    1 1 2008-2-22 AM 01:00:00 01:00:00 0 N
    2 2 2008-2-21 PM 05:42:45 17:42:45 0 N
    3 3 2008-2-21 PM 05:42:45 17:42:45 0 N
  • 相关阅读:
    Maven错误recv failed
    eclipse集成tomcat修改字符集参数
    eclipse luna 无法安装veloeclipse问题
    TortoiseSVN忽略文件夹
    类之特性
    __new()__与__init__()
    flask中models设计
    flask读书记录
    JS中的event 对象详解
    redis 持久化 RDB
  • 原文地址:https://www.cnblogs.com/tohen/p/1335186.html
Copyright © 2011-2022 走看看