第一种:loop

declarecursor c1 isselect sno,cno,grade from sc;v_sno sc.sno%type;v_cno sc.cno%type;v_grade sc.grade%type;
beginopen c1;loopfetch c1 into v_sno,v_cno,v_grade;exit when c1%notfound;--紧跟fetch之后if c1%found thendbms_output.put_line(to_char(c1%rowcount)||v_cno);end if;end loop;close c1;
end;

第二种:while

declarecursor c1 isselect sno,cno,grade from sc;v_sno sc.sno%type;v_cno sc.cno%type;v_grade sc.grade%type;
beginopen c1;fetch c1 into v_sno,v_cno,v_grade;while c1%found loopdbms_output.put_line(v_sno||v_cno||v_grade);fetch c1 into v_sno,v_cno,v_grade;end loop;close c1;
end;

第三种:for

declarecursor c1 isselect sno,cno,grade from sc;beginfor item in c1 loopdbms_output.put_line(rpad(item.sno,'10',' ')||rpad(item.cno,'10',' ')||rpad(item.grade,'10',' '));end loop;end;

三种方式的比较:

1)最简单是是for循环:首先是:在declare部分不需要声明变量,其次,在begin部分不需要打开游标以及关闭游标。(推荐使用)

2)loop循环:首先要将游标指向第一行,再判断%found,需要设置循环退出条件。

3)while循环:只有第一行%found返回true时才会执行体,在循环体中执行完用户操作后,需要将游标指向下一行。

oracle游标遍历的三种方式相关推荐

  1. Map集合遍历的三种方式

    Map集合遍历的三种方式 遍历Map集合的三种方式 键找值 键值对 Lambda表达式 方式一 : 键找值 先获取Map集合的全部键的Set集合 遍历键的Set集合,然后通过键提取对应值 原理图 键找 ...

  2. HashMap遍历的三种方式

    HashMap遍历的三种方式 hashmap常用的三种方式分为 keySet遍历 就是把这个hashmap所有的key都拿出来放到一个set里,然后在通过这个key去通过hashmap的get方法去查 ...

  3. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  4. Oracle删除数据的三种方式

    Oracle删除数据的三种方法 删除表(记录和结构)的语句delete--truncate--drop drop命令 drop table 表名: 例如:删除学生表(student) drop tab ...

  5. for循环的遍历的三种方式

    List<Teacher> list = new ArrayList<Teacher>(); //list里存的是N个Teacher对象 System.out.println( ...

  6. java map string stu_Java Map遍历的三种方式 | 学步园

    最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~ 这里给出了三种遍历的方式,注释中已说明各自方式的优点. package edu.hrbeu.cloud.testIterM ...

  7. HashMap遍历的三种方式,entrySet()和keySet() 还有Java8的foreach

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) {    ...

  8. Oracle实现判断功能三种方式总结

    第一种: case - when - end select casewhen t.content = '1' then'满意'when t.content = '2' then'一般'else'不满意 ...

  9. java中数组遍历的三种方式

    使用显示数组 for,for-each,和toString 题目描述 1.for循环遍历 程序: 运行结果: 2.foreach语句遍历 语法格式: 注: 运行结果: 程序: 运行结果: 3.Arra ...

最新文章

  1. 0x34.数学 - 矩阵乘法
  2. PMCAFF | 一个CRM产品大神的产品之路
  3. C++ 类的行为 | 行为像值的类、行为像指针的类、swap函数处理自赋值
  4. libsvm java下载_一个基于LIBSVM(JAVA)的股票预测demo
  5. 阿里云 linux mysql数据库_Linux Mysql数据库安全配置
  6. JeeWx捷微2.4.1版本发布,JAVA微信管家平台(支持公众号、企业号)
  7. 史上最详细的Studio教程二来啦
  8. 前端向后台发送请求有几种方式?
  9. 一路波折----记我的win10环境下scala安装之路,解决命令窗口报错问题
  10. 返回顶部代码 缓慢的返回顶部
  11. 移动技术--从网页游戏谈起 1
  12. python写一个ssh工具_用Python和JS实现的Web SSH工具,真香!
  13. Pos58打印程序开发相关
  14. 网页设计中有效的配色
  15. 圆形区域的半透明填充
  16. 外链建设的22种方法
  17. caffe版本-车型检测-A Large-Scale Car Dataset for Fine-Grained Categorization and Verification
  18. 将逻辑分区的空间分给主分区C盘,使用diskgenius,提示需要在dos进行
  19. 网校程序源码:网校频频倒闭的背后原因
  20. PHP 第三方登录 (QQ登录)

热门文章

  1. Spring Data Redis入门示例:基于RedisTemplate (三)
  2. 2015 DevOps状态调查报告
  3. 关于setTimeout
  4. oracle Data Modeler 使用教程
  5. macOS Sierra U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
  6. win8.1远程连接Redis数据库
  7. 【POJ2117】Electricity [tarjan 割点]
  8. 微信小程序之获取验证码js
  9. 密码学笔记——zip明文攻击
  10. Row_number () over (partition by col1 order by col2)的用法