怎么将查询结果直接赋给数组呢
原用游标赋值,可发现速度很慢也不稳定,有时11秒,有时50秒左右 
 代码如下 
 create   or   replace   procedure   p_Gacalc 
 (Str_ffrq   in   varchar2,Str_zlid   in   varchar2) 
 AS 
 Str_KX   tb_permit_user.kxid%type; 
 Str_PU_ID   tb_permit_user.pu_id%type; 
 CURSOR   csor_aaa   IS   select   pu_id,kxid   from   v_mygz   t      ; 
 begin 
 /**/ 
 open   csor_aaa; 
 loop 
       fetch   csor_aaa   into   Str_PU_id,Str_KX; 
       exit   when   csor_aaa%notfound;    
       update   gzjj   set   xms=(50+40)   where      trim(pu_id)=trim(to_char(Str_PU_id))   and      ffrq=to_date( '2006-08-01 ', 'yyyy-mm-dd '); 
    commit; 
    /**/end   loop; 
 close   csor_aaa; 
 end; 
------解决方案--------------------create or replace procedure p_Gacalc 
 (Str_ffrq in varchar2,Str_zlid in varchar2) 
 AS 
 CURSOR csor_aaa IS select pu_id,kxid from v_mygz t  ; 
 begin 
 /**/ 
 For tmp_Csor_aaa in csor_aaa Loop 
   update gzjj set xms=(50+40) where  trim(pu_id)=trim(to_char(tmp_Csor_aaa.pu_id)) and  ffrq=to_date( '2006-08-01 ', 'yyyy-mm-dd '); 
 End Loop; 
 commit; 
 end;   
 顺便问一下,没看到你的程序用到这个变量啊(Str_KX tb_permit_user.kxid%type; )