登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

明月凉

再不记录,就忘了

 
 
 

日志

 
 

游标1  

2012-10-29 23:49:27|  分类: 计算机 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

游标

 

静态游标

  显式游标:定义、打开、提取数据、关闭

 declare

 cursor YHS0921_c(a_id in varchar2 default 1)

 is select * from td_b_action where action_id=a_id;

 type AC is record(

 a_id td_b_action.action_id%type,

 a_name td_b_action.action_name%type,

 a_desc td_b_action.action_desc%type

 );

 ac_row AC;

 begin

   open YHS0921_c(100000023);

   fetch YHS0921_c into ac_row;

   while YHS0921_c%found loop

     dbms_output.put_line('YHS'||ac_row.a_name);

     fetch YHS0921_c into ac_row;

     end loop;

     close YHS0921_c;

 end;

其中fetch YHS0921_c into ac_row;游标将一条结果放入变量中,然后就可以从变量中取出数据。

变量的字段要能存放结果,用ac_row YHS0921_c%rowtype,以游标的一行的字段作为这个变量的字段,更不易出错

循环,直到游标结果集中没有数据为止

 

FOR循环的游标

declare

 cursor Y0921_cursor is

 select * from td_b_action;

 --where action_id='1';

 begin

   for r in Y0921_cursor loop

     dbms_output.put_line(r.action_id);

end loop;

end;

for循环开始,cursor自动打开,循环结果,自动关闭

r变量存储了数据行

 

隐式游标

  当执行一个SQL语句,oracle自动创建了一个游标的,默认名sql

  属性:sql%found、sql%notfound、sql%rowcount。

  这也是每个游标都有的属性

  begin

  for action in(select * from td_b_action)

    loop

      dbms_output.put_line(action.action_name);

    end loop;

  end;

用隐式游标,把结果集一条一条放入action变量中。

隐式游标的内容其实是select * from td_b_action

  评论这张
 
阅读(97)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018