包体中,两个相同结构的游标如何进行合并,及再查询之类的?如下两个包体,包体P_T002用不同的参数调用 P_T001,
返回的是两个完全相同结构的游标,(实际使用时,P_T001中的查询可能很复杂)
我要在P_T002中将两次返回的游标结果合并输出,要如何操作?
---------------------------------------------------------------------------------------------------------------------
   
  PROCEDURE P_t001(P_IP IN varchar2,
                              P_CUR   OUT V_CUR) Is
   Begin 
    open p_cur for select p_ip from dual  ;   
   end P_t001 ;   PROCEDURE P_t002(P_IP IN varchar2,
                              P_CUR   OUT V_CUR) Is 
 v_cur1 V_CUR ;
 v_cur2 V_CUR ;
   Begin
 
 P_t001('11',v_cur1);
 P_t001('22',v_cur2); 
 p_cur := v_cur2  ; 
 -----问题点1
   end P_t002 ; 
 
---------------------------------------------------------------------------------------------------------------------问题点1  ,使用   p_cur := v_cur2    的方式,可以将  某个游标完全赋值给 p_t002的游标,
但是如何把 v_cur1和v_cur2  二者合并呢??
另外问个,如果要在P_T002中  再对 传回的 v_cur1 的结果 进行二次查询,要如何进行??

解决方案 »

  1.   

    你这是用LOOP把游标一行行打开传值进去是么???
    感觉游标一行行打开赋值很慢的,还有没有别的办法的??
      

  2.   

    把游标的查询一次性插入到临时表,
    这个思路不错
    不过这个一次性插入要怎么做??
    也是用LOOP 一行行打开游标,一行行插入么???这和上面的方法差不多啊。。效率很慢的啊