Asynchronous PL/SQL Oracle DBMS_作业/DBMS_调度程序传递参数

Asynchronous PL/SQL Oracle DBMS_作业/DBMS_调度程序传递参数,asynchronous,parameters,plsql,Asynchronous,Parameters,Plsql,如何将参数传递给DBMS_作业/调度程序异步调用。我有一个长期运行的PL/SQL过程,它只需要很少的参数,包括SQL整数表(ID)。如何创建异步调用此PL/SQL长时间运行过程并向其传递参数的过程 PROCEDURE "RUN_ARCHIVING_SEARCH" ( a_arch_rule_code_id_list IN INLISTNUMBERS, a_lang IN VARCHAR2, a_session_id IN NUMBER ) Thnx, Beef不要创建其

如何将参数传递给DBMS_作业/调度程序异步调用。我有一个长期运行的PL/SQL过程,它只需要很少的参数,包括SQL整数表(ID)。如何创建异步调用此PL/SQL长时间运行过程并向其传递参数的过程

PROCEDURE "RUN_ARCHIVING_SEARCH"
(
    a_arch_rule_code_id_list IN INLISTNUMBERS,
    a_lang IN VARCHAR2,
    a_session_id IN NUMBER
)
Thnx,
Beef

不要创建其
程序类型为
'storaged\u PROCEDURE'
的程序,尝试在每个作业的
作业类型为
'PLSQL\u BLOCK'
的位置创建作业。这样,您的
job\u操作实际上就是使用适当的参数调用存储过程所必需的PL/SQL块。理论上,您可以使用重新创建
a_arch\u rule\u code\u id

所需的代码动态构建PL/SQL块,根据您可能需要传递给过程的最大数字数量,您最好将数字存储在表中,然后作业将查询表以获取要处理的数字。

@0xDEAD-BEEF:我的意思是,您可以从头开始编写构造PL/SQL块所需的.NET代码。您的.NET代码将以这样一种方式编写PL/SQL块:PL/SQL代码重新构造
a\u arch\u rule\u code\u id\u list
。例如,您的.NET代码可以发出以下PL/SQL块:
DECLARE list。。。;开始列表(0):=1;列表(1):=2;运行归档搜索(列表,…);结束这是一个糟糕的解决方案。我有这个想法,但我真的希望有更好的解决方案。有没有办法压缩/取消压缩xml中的所有数据?根据我的经验,将数据转换为xml往往会增加数据量,而不是减少数据量。。。