请教dblink 调用 远程存储过程的问题
发布网友
发布时间:2022-04-08 22:21
我来回答
共1个回答
热心网友
时间:2022-04-08 23:51
如果参数p_fetiontaskgroup只有一个元素,那么用下面的方法容易解决。
在远程库上,创建一个新的过程:
create procere WRAP_submitFetiontask(TASK_ID NUMBER,
MOBILE VARCHAR2,
FETIONNO VARCHAR2,
CONTENT VARCHAR2,
USERID NUMBER,
USER_INTERFACE_ID VARCHAR2,
PRODUCT_ID VARCHAR2
) is
v_taskInfo tyfetionTg
begin
初始化v_taskInfo;
v_taskInfo(1).TASK_ID := TASK_ID;
v_taskInfo(1).MOBILE := MOBILE ;
.....
submitFetiontask(v_taskInfo);
END;
本地调用时, 调用 WRAP_submitFetiontask@imdb(.....) 就是了。
多个元素时,比较麻烦,
一个方法是远程建立另一个过程,用于构造TABLE
本地每次调用该过程把一个元素传过去。
另一个方法是不通过collection来传递,而是通过物理表来传递。