欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ORACLE—005:创建JOB(二)

程序员文章站 2022-05-21 19:55:26
...

如果需要创建带参数的job,如何创建呢。 我们直接将参数声明,并赋值,然后传给job调用的存储过程即可。 例如,存储过程名为Pro_Test_JOB,参数共有一个,是VARCHAR2类型。 创建JOB如下: declare job number; v_count number;begin SELECT COUNT(*) INTO v_

如果需要创建带参数的job,如何创建呢。

我们直接将参数声明,并赋值,然后传给job调用的存储过程即可。

例如,存储过程名为Pro_Test_JOB,参数共有一个,是VARCHAR2类型。

创建JOB如下:

declare
  job number;
  v_count number;
begin 
    SELECT COUNT(*)
    INTO v_count
    FROM user_jobs uj
    WHERE  upper(uj.what) = 
    UPPER('declare para_data VARCHAR2(100):=''参数'';begin  Pro_Test_JOB(para_data); end;');
    
    if v_count = 0 then
      sys.dbms_job.submit(job => job, 
                      what => 
                      'declare para_data VARCHAR2(100):=''参数'';begin  Pro_Test_JOB(para_data); end;', 
                      next_date =>sysdate , 
                      interval => 'sysdate+2/24');
    dbms_job.run(job);
    commit;
  end if;
end;