我有程序A,它有一些输入和输出参数。我无法更改第一个程序的参数或代码,但我需要得到不同的结果。我决定创建程序B,它将传递额外的参数。我想从这个程序调用程序A并处理程序A的结果。我知道参数的类型,程序A返回。
我需要这样的想法:
procedure A(id in number, names out names_array) is
begin
// procedure A body
// filling names var
end;
procedure B (id in number, myLimit in number, names out names_array) is
temp_names names_array;
i integer;
begin
A(id => id, names => temp_names);
while i < myLimit loop
names(i) := temp_names(i);
end loop;
end;
所以问题在于处理names
(过程A
的结果)。我怎么能正确地做到这一点?可能有一些select ... limit myLimit
查询?
names_array的定义:
TYPE names_array IS TABLE OF VARCHAR2 (40)
INDEX BY BINARY_INTEGER;