相关文章推荐
光明磊落的墨镜  ·  SQL游标详解-CSDN博客·  5 天前    · 
英勇无比的金鱼  ·  AttributeError: ...·  5 月前    · 
被表白的米饭  ·  python ...·  1 年前    · 
不羁的南瓜  ·  原来 GitHub ...·  1 年前    · 

oracle中,对于游标的属性,它通过属性值来判断的

1)%notfound 到了游标尾部,没有记录了,就返回true

2)%found 用于检验游标是否成功,通常在fetch语句前使用,当游标按照条件查询一条记录是,返回true

3)%isopen 判断游标是否打开

4)rowcount 获得影响的行数

二、游标的分类:

1、静态游标 在执行前,明确知道sql语句游标

a) 显示游标

用户自己写的sql语句,编译时能明确知道sql语句

b) 隐式游标

Dml(增、删、改、查询单条记录)会用隐式游标,该变量名不需要用户自己声明,

它由系统帮我们定义,叫sql。

影视游标的使用:通过%rowcour判断是有使用了。 使用时不要字机定义应是游标,它由系统定义

2、动态游标 在执行前不知道sql语句游标,执行时才知道sql语句的游标。

a) 强类型游标

b) 弱类型游标

三、游标的作用:(拿出结果集中的一行)

游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,

将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。

尽管游标能遍历结果中的所有行,但他一次只指向一行。

概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。

游标提供了在逐行的基础上操作表中数据的方法。

游标的一个常见用途就是保存查询结果,以便以后使用。游标的结果集是由SELECT语句产生,如果处理过程需要重复使用一个记录集,

那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。

四,对于游标的的优化建议

  • 如果能不用游标,尽量不要使用游标
  • 用完用完之后一定要关闭和释放
  • 尽量不要在大量数据上定义游标
  • 尽量不要使用游标上更新数据
  • 尽量不要使用insensitive, static和keyset这些参数定义游标
  • 如果可以,尽量使用FAST_FORWARD关键字定义游标
  • 如果只对数据进行读取,当读取时只用到FETCH NEXT选项,则最好使用FORWARD_ONLY参数
  • 返回搜狐,查看更多

    责任编辑:

    声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。