一、游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。

二、概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。

三、游标的一个常见用途就是保存查询结果,以便以后使用。游标的结果集是由SELECT语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。

四、游标的四个属性(一下默认curcor_name都为c)

1、%notfound 最近一次fetch后是否取到结果,布尔类型,如果有结果就返回true

举个例子:open c;loopfetch c into v_name;exit when(c%notfound);dbms_output.put_line(v_name.vname);end loop;close c;

2、%found 最近一次fetch后是否取到结果,布尔类型,如果没有,则为false

 举个例子:open c;while c%found loop....fetch c into v_name;end loop;close c;

3、%rowcount 返回的是游标取到的行数 为number类型

举个例子:open c;loopfetch c into v_name;exit when c%rowcount>5;....end loop;close c;

4、%isopen 表示的是此刻否打开游标,是布尔类型,当打开时为true,一般用的比较少;

举个例子:如果想判断游标是否打开,如果没有打开就执行打开的操作if not(c%isopen) thenopen c;end if;fetch c into....;五、用游标进行简单的查询操作注意:如果想让cmd打印出来我们要求的结果,需要提前加上一条语句:set serveroutput ondeclare cursor c is  (声明一个游标并指向如下查询语句的结果集)select * from emp;v_emp c%rowtype;  (生命一个变量,游标指向的是返回结果集的行)beginopen c;  (打开游标后才会执行查询语句)fetch c into v_emp;   (捕捉到一行结果放到变量v_emp中)dbms_output.put_line(v_emp.ename);  (打印得到的结果中的ename字段)close c;end; /六、使用loop循环的方式遍历结果集declare cursor c isselect * from emp;v_emp c%rowtype;beginopen c;loopfetch c into v_emp;exit when(c%notfound);dbms_output.put_line(v_emp.ename);end loop;close c;end; /(注:如果此处将打印语句与判断何时退出的语句交换位置,会出现将最后一个查到的数据重新打印一遍的情况)七、使用while循环遍历得到数据declarecursor c isselect * from emp;v_emp c%rowtype;  //使用while遍历,仍然需要对v_emp进行声明beginopen c;fetch c into v_emp;while(c%found) loop   (当当前最近的一次游标发现了一行的时候执行如下语句)dbms_output.put_line(v_emp.ename);fetch c into v_emp;end loop;close c;end;/八、使用for循环遍历数据declarecorsor c is select * from emp;beginfor v_emp in c loopdbms_output.put_line(v_emp.ename);end loop;end;九、带参数的游标declarecursor c(v_deptno emp.deptno%type,v_job emp.job%type)isselect ename,sal from emp where deptno = v_deptno and job = v_job;beginfor v_temp in c(30,'CLERK') loopdbms_output.put_line(v_temp.ename);end loop;end;/十、可更新的游标declarecursor c isselect * from emp for update;beginfor v_temp in c loop;if(v_temp.sal < 2000) thenupdate emp set sal = sal*2 where current of c(指当前游标);elsif (v_temp.sal = 5000) thendelete from emp where current of c;end if;end loop;commit;end;

游标的概念、作用、属性及查询操作相关推荐

  1. C# 基于AE的GIS二次开发 要素查询操作,属性表查询操作及其属性表修改操作

    直接上代码: 要素查询 并高亮显示 模糊查询我的根据自己的表设计的,自己用基本语句是 属性表字段 LIKE '*内容*' *号为 SQL like语句里的% like '%%',在ArcGIS里是*开 ...

  2. 数据库游标的概念和作用

    游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制.游标充当指针的作用.尽管游标能遍历结果中的所有行,但他一次只指向一行. 概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存 ...

  3. Super Map超图IServer倾斜摄影模型单体化与属性查询操作

    倾斜摄影模型单体化与属性查询操作 倾斜摄影模型通常被称作"一张皮"的模型,为发挥倾斜摄影模型应用价值,必须对倾斜摄影模型进行单体化处理.超图三维率先采用了模型叠加矢量面的方式对倾斜 ...

  4. resultset mysql_MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ [正文] 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查 ...

  5. Mybatis入门:4(多表查询操作)

    多表查询操作 Mybatis的多表操作 表之间的关系有几种:一对多.一对一.多对一.多对多 举例: 用户和订单就是一对多--一个用户可以下多个订单 订单和用户就是多对一--多个订单属于同一个用户 人和 ...

  6. python爬虫 django搜索修改更新数据_一文搞懂Django数据库查询操作

    本文略长,读完约需十分钟.当做复习笔记效果更佳. 查询操作: 数据查询是数据库操作中一个非常重要的技术.查询一般就是使用filter.exclude以及get三个方法来实现.我们可以在调用这些方法的时 ...

  7. mysql数据库游标有什么特性_MySQL数据库游标的概念介绍和游标的使用讲解

    一.MySQL游标的概念 1.游标介绍 MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想 ...

  8. 31-32 python mysql-connector创建数据、crud,where,排序,删除等。PyMSQL驱动,插入操作、查询操作、更新操作、删除操作、执行

    31Python MysSQL - mysql-connector驱动 使用pip命令安装mysql-connector: python -m pip install mysql-connector ...

  9. mysql 游标 navigate_MySQL游标的概念介绍和游标的使用讲解

    一.MySQL游标的概念 1.游标介绍 MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想 ...

最新文章

  1. 小白实操ESP8266AT固件烧录,版本1.7.1,希望对爱玩ESP8266的开发小伙伴有帮助!
  2. python---[列表]lsit
  3. ssl1222-矩形【图论,并查集】
  4. 梦想成真…教学–专业的Java开发人员:工具和最佳实践
  5. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil
  6. 密立根油滴实验的计算机仿真实验报告,H-D光谱实验的计算机仿真
  7. 【转】硬盘的寻址和工作模式
  8. 东北大学计算机生源,辽宁省2021年普通高校招生计划,东北大学、大连理工大学没有扩招...
  9. PDF文件双面打印设置
  10. JS设计模式——Mixin模式
  11. 你的六岁在玩儿泥巴,他们六岁已经在讲算法了
  12. Oracle ora-12514报错解决方法
  13. 不平衡数据分类实证-R语言
  14. \U672a\U77e5\U9519\U8bef 字符还原
  15. webuploader上传文件夹总结
  16. 如何用sql profile 找出执行慢的sql
  17. Springboot+阿里云kafka踩坑实录
  18. 防火墙入侵与检测 day03 详解NAT及配置
  19. 宇视设备搜索工具_【聚焦】2019版中国纸箱行业供应商搜索引擎、全球瓦楞行业设备前沿技术报告将于4月瓦楞展现场首发!...
  20. 工业控制计算机硬件基础知识,第五章 工业控制计算机及其接口技术知识 机电一体化课件.ppt...

热门文章

  1. 定制智能书柜的功能介绍
  2. 如何在ONLYOFFICE表单中分配接收者角色
  3. mybatis的一级缓存、二级缓存、sqlsession、sqlsessionfactory什么意思?
  4. 《文言文复兴系列 3》(江湖一剑客)
  5. python写微信公众号文章_python如何导出微信公众号文章
  6. docxtemplater + vue + docxtemplater-image-module-free 实现前端 word下载文字和免费图片下载
  7. 疫情散去想看电影,使用css3动画实现一个阿凡达2完美开场
  8. 2021年中式烹调师(中级)考试及中式烹调师(中级)试题及解析
  9. 排查Spring事务注解不起作用的原因
  10. Linux驱动编程视频教程