1.游标(用于存储多个查询数据的数据结构(结果集),它有一个从上到下移动的指针,以便遍历每个记录)
游标也可以理解为逐行返回SQL语句的结果集
如何写一个光标?
1.声明光标
声明光标cur_name
是+想做的;
用于定义数据的类型/row type;
2.打开光标
open cur _ name
3.提取数据
取得
4.关闭光标
从t_emp中提取数据
解密光标曲线
是从t_emp中选择*
r _ emp t _ emp % rowtype
开始
开放曲线;
将cur提取到r_emp中;
DBMS _ output . put _ line(' id:' | | r _ EMP . id);
关闭;
结束;
5.释放光标
解除分配cur_name
如何判断是否在结果集末尾,
在oracle中,游标的属性由属性值来判断
1)%notfound到达光标的末尾,如果没有记录,则返回true。
2)%found用于检查游标是否成功,一般用在fetch语句之前。当光标根据条件查询记录时,它返回真
3)%isopen确定光标是否打开
4)rowcount获取受影响的行数
二、光标的分类:
1、静态游标在执行之前,清楚地知道sql语句的游标
a)显示光标
编译时可以清楚地知道用户自己编写的Sql语句
b)隐式光标
Dml(添加、删除、修改和查询单个记录)使用隐式游标,变量名不需要用户自己声明。
它由系统定义,称为sql。
电影光标的使用:由%rowcour判断是否使用。不要用。定义应该是一个光标,由系统定义
2.动态游标在执行前不知道sql语句游标,执行时只知道sql语句游标。
a)强类型游标
弱类型游标
三、光标的作用:(在结果集中取出一行)
游标是映射到结果集中一行数据上的位置实体。使用游标,用户可以访问结果集中的任何一行数据。
将光标放在一行上后,可以对该行的数据进行操作,例如提取当前行的数据。
游标实际上是一种机制,它可以一次从包含多个数据记录的结果集中提取一条记录。游标充当指针。
虽然光标可以遍历结果中的所有行,但它一次只能指向一行。
一般来说,SQL的游标是一个临时的数据库对象,可以作为数据库表中存储的数据行的副本,也可以作为指向数据库中存储的数据行的指针。
游标提供了一种逐行操作表中数据的方法。
游标的一个常见用途是保存查询结果供以后使用。游标的结果集由SELECT语句生成。如果处理需要重用记录集,
创建一次游标并多次重用它要比重复查询数据库快得多。
第四,对游标的优化建议
如果能不用游标,尽量不要使用游标 用完用完之后一定要关闭和释放 尽量不要在大量数据上定义游标 尽量不要使用游标上更新数据 尽量不要使用insensitive, static和keyset这些参数定义游标 如果可以,尽量使用FAST_FORWARD关键字定义游标 如果只对数据进行读取,当读取时只用到FETCH NEXT选项,则最好使用FORWARD_ONLY参数1.《sql游标 SQL游标的小知识》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《sql游标 SQL游标的小知识》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/695847.html