oracle job如何定时执行带参数的存储过程

有的时候我们希望利用job调用带有参数的存储过程,那么下面就利用一个测试来介绍job如何调用带有参数的存储过程。

创建测试表:

create table aaa(name varchar2(10));

创建测试存储

create procedure mytest
(name varchar2)
as
begin
    insert into aaa values(name);
    commit;
end;

创建job

begin  

    dbms_scheduler.create_job(  
        job_name => 'TEST',  
        job_type => 'STORED_PROCEDURE',  
        job_action => 'mytest',  
        number_of_arguments => 1,   
        repeat_interval => 'FREQ=DAILY;INTERVAL=3',   
        enabled => FALSE  

        );   
end; 
注意:number_of_arguments => 1, 表示要传入的参数个人是1

声明输入参数:

begin  
    DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (             
        job_name => 'TEST',                       
        argument_position => 1, 
        argument_type => 'VARCHAR2'                                                   
        argument_value => 'shiyu'  
        );     
end; 

猜你喜欢

转载自blog.csdn.net/shiyu1157758655/article/details/79786593