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
  • 相关阅读:
    大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 时序算法)
    大数据时代:基于微软案例数据库数据挖掘知识点总结(结果预测篇)
    svg图片的缩放拖拽
    计算机网络之以太网,通俗点的说法
    yield 与生成器
    安卓开发第一记 android stdio 安装后 新建测试项目报错
    Javascript的异常捕获机制
    小而实用的工具插件集锦(JQGrid,zTree)
    proxifier 注册码 +电脑全局代理设置
    雷林鹏分享:jsp 发送邮件
  • 原文地址:https://www.cnblogs.com/tohen/p/1335186.html
Copyright © 2011-2022 走看看