Plsql 我有一个返回多个o/p的函数,我需要调用这个函数来插入到表中

Plsql 我有一个返回多个o/p的函数,我需要调用这个函数来插入到表中,plsql,syntax-error,Plsql,Syntax Error,我收到错误p\u分支\u ID不能用作第二个代码中的赋值运算符 第一个代码正在运行, 请帮助这是因为参数在第一个代码中声明为in-out,但是,正如第二个函数中的一样。如果我在第一个函数中使用它,程序接受它并编译ypls答案为y,我得到了06502个错误,我也得到了错误-6502-ORA-06502:PL/SQL:numeric或value error,如果我提供p_branch_id(1,2,3),但是如果我提供p_branch_id(1,2),代码工作正常适用于2个i/p参数,但不适用于2个

我收到错误
p\u分支\u ID不能用作第二个代码中的赋值运算符

第一个代码正在运行,

请帮助

这是因为参数在第一个代码中声明为
in-out
,但是,正如第二个函数中的
一样。

如果我在第一个函数中使用它,程序接受它并编译ypls答案为y,我得到了06502个错误,我也得到了错误-6502-ORA-06502:PL/SQL:numeric或value error,如果我提供p_branch_id(1,2,3),但是如果我提供p_branch_id(1,2),代码工作正常适用于2个i/p参数,但不适用于2个以上的i/p参数。原因是什么
create or replace type branch_warehouse as object (wh_id number,wh_name varchar2(100));
create or replace type id_warehouse_list as table of branch_warehouse;

function get_ware_house_branch(p_BRANCH_IDS in out varchar2)
      return id_warehouse_list is
   l_warehouse_list id_warehouse_list := id_warehouse_list();
   str varchar2(300);
begin
   str := 'SELECT BRANCH_WAREHOUSE(w.wh_id, w.wh_name)
            FROM POD_WAREHOUSE_MASTER W
            where ( W.BRANCH_ID  IN  (' || p_BRANCH_IDS || '))';
   execute immediate str bulk collect into l_warehouse_list;
   for i in l_warehouse_list.first..l_warehouse_list.last loop 
      dbms_output.put_line(l_warehouse_list(i).wh_id || ', ' ||  l_warehouse_list(i).wh_name);
   end loop;
   return l_warehouse_list;
end;

procedure insert_place_warehouse_map(p_PLACE_NAME   in varchar2,
                                     p_BRANCH_IDS   in number,
                                     p_status       out varchar2,
                                     p_status_dtl   out varchar2) is
   v_ID number;
   l_warehouse_list id_warehouse_list := id_warehouse_list();
begin
   v_ID := get_place_id (p_PLACE_NAME);
   l_warehouse_list := get_ware_house_branch(p_BRANCH_IDS);
   for i in l_warehouse_list.first..l_warehouse_list.last loop
      insert into pod_place_warehouse_map(
         id, 
         place_id, 
         wh_id,        
         wh_name)
      values(
         pod_unique_val_seq.nextval, 
         v_ID,
         l_warehouse_list(i).wh_id,  
         l_warehouse_list(i).wh_name);
      v_rec_cnt    := sql%rowcount;
   end loop;    
   commit; 
   p_status     := 'SUCESS';
   p_status_dtl := v_rec_cnt||' Record Inserted Successfully';
exception
   when others then
      rollback;
      p_status_dtl := sqlcode||' - '||substr(sqlerrm,1,100);
      p_status     := 'ERROR'; 
end;