有的时候我们希望利用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;