加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

stored-procedures – 通过调治措施功课将参数转达给oracle存储

发布时间:2021-04-01 06:59:42 所属栏目:站长百科 来源:网络整理
导读:我有一个从dbms功课挪用的存储进程.即 DBMS_SCHEDULER.RUN_JOB ('Procedure_JB',FALSE); 一个java代码存储进程,在执行一些操纵后,异步启动Procedure_JB.然后这个Procedure_JB挪用Procedure_PRogram,然后措施将挪用存储进程. 怎样将参数转达给我的存储进程?

我有一个从dbms功课挪用的存储进程.即

DBMS_SCHEDULER.RUN_JOB ('Procedure_JB',FALSE);

一个java代码存储进程,在执行一些操纵后,异步启动Procedure_JB.然后这个Procedure_JB挪用Procedure_PRogram,然后措施将挪用存储进程.

怎样将参数转达给我的存储进程?

>我必需转达给事变的论据来自java.

办理要领

界说您的功课Procedure_JB以接管参数.然后行使dbms_scheduler.set_job_argument_value界说要转达到功课将要运行的措施的参数的值.一个例子(取自 https://forums.oracle.com/forums/thread.jspa?threadID=483135)

-- create a stored procedure with two arguments
create or replace procedure myproc (arg1 in varchar2,arg2 in varchar2)
is BEGIN null; END;
/

-- create a program with two arguments and define both
begin
dbms_scheduler.create_program
(
program_name=>'myprog',program_action=>'myproc',program_type=>'STORED_PROCEDURE',number_of_arguments=>2,enabled=>FALSE
) ;

dbms_scheduler.DEFINE_PROGRAM_ARGUMENT(
program_name=>'myprog',argument_position=>1,argument_type=>'VARCHAR2',DEFAULT_VALUE=>'13');

dbms_scheduler.DEFINE_PROGRAM_ARGUMENT(
program_name=>'myprog',argument_position=>2,argument_type=>'VARCHAR2');

dbms_scheduler.enable('myprog');
end;
/

-- create a job pointing to a program and set both argument values
begin
dbms_scheduler.create_job('myjob',program_name=>'myprog');
dbms_scheduler.set_job_argument_value('myjob',1,'first arg');
dbms_scheduler.set_job_argument_value('myjob',2,'second arg');
dbms_scheduler.enable('myjob');
end;
/

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读