处理程序B中程序A的结果

时间:2014-08-19 16:27:39

标签: oracle stored-procedures plsql

我有程序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;

0 个答案:

没有答案