首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

如何将查询结果直接赋给数组呢

2012-02-19 
怎么将查询结果直接赋给数组呢原用游标赋值,可发现速度很慢也不稳定,有时11秒,有时50秒左右代码如下create

怎么将查询结果直接赋给数组呢
原用游标赋值,可发现速度很慢也不稳定,有时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; )

热点排行