Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57987
  • 博文数量: 13
  • 博客积分: 318
  • 博客等级: 二等列兵
  • 技术积分: 185
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-01 19:17
文章分类

全部博文(13)

文章存档

2012年(13)

我的朋友

分类: Oracle

2012-04-21 13:07:53

----隐式游标                  
begin
  for c_row in (  select open_time, group_id, sm_code, cn
                    from dchncustmsg
                   where open_time = '20041109'
                     and sm_code = '3g';)
    loop
      dbms_output.put_line(c_row.open_time||'-'||c_row.group_id||'-'||c_row.sm_code||'-'||c_row.cn);
    end loop;
end;
--------------------------------------------------------
----For 循环游标
declare
  --类型定义
  cursor c_cur
  is
  select open_time, group_id, sm_code, cn
                  from dchncustmsg
                 where open_time = '20041109';
  --定义一个游标变量c_row c_cur%rowtype,该类型为游标c_cur中的一行数据类型
  c_row c_cur%rowtype;
begin
   for c_row in c_cur loop
      exit when c_cur%notfound;
      dbms_output.put_line(c_row.open_time||'-'||c_row.group_id||'-'||c_row.sm_code||'-'||c_row.cn);
     end loop;
end;
--------------------------------------------------------
----Fetch 循环游标
----使用是必须明确打开和关闭
declare
  --类型定义
  cursor c_cur
  is
  select open_time, group_id, sm_code, cn
    from dchncustmsg
   where open_time = '20041109'
     and sm_code = '3g';
  --定义一个游标变量c_row c_cur%rowtype,该类型为游标c_cur中的一行数据类型
  c_row c_cur%rowtype;
begin
  open c_cur;
    loop
      --提取一行数据到c_row
      fetch c_cur into c_row;
      --判断是否取到值,未取到则退出
      --取到值 c_cur%notfound 是 false
      --未取到值c_cur%notfound 是 true
      exit when c_cur%notfound;
      dbms_output.put_line(c_row.open_time||'-'||c_row.group_id||'-'||c_row.sm_code||'-'||c_row.cn);
    end loop;
  close c_cur;
end;
阅读(1822) | 评论(6) | 转发(0) |
0

上一篇:没有了

下一篇:Oracle 基本操作

给主人留下些什么吧!~~

布毫铯2012-04-23 21:20:43

如何定义 动态游标 oracle的 ??