金仓数据库KingbaseES 游标Cursor

1. 游标的定义

游标(Cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。

2. 游标的特性

1)能够标记游标为只读,使数据能读取,但不能更新和删除

2)能控制可以执行的定向操作(向前、向后、第一、最后、绝对位置、相对位置等)

3)能标记某些列是可编辑的,某些列为不可编辑的

4)规定范围,使游标对创建它的特定请求(如存储过程)或对所有请求可访问

5)指示DBMS对检索出的数据进行复制,使数据在游标打开和访问期间不变化

3. 游标的分类

(1)显示游标

显示游标一次从数据库中提取多行数据

(2)隐式游标

隐式游标一般只从数据库中提取一个数据

4. 使用游标

1)在使用游标前必须声明它。在这个过程中实际上没有检索数据它只是定义要使用的select语句和游标选项

2)一旦声明就必须打开游标以供使用

3)对于填写数据的游标,根据需要取出各行

4)在结束游标使用时,必须关闭游标,可能的话,释放游标

5. 创建游标

图片.png

6. 游标的使用模式

6.1 声明游标

首先,需要使用DECLARE语句声明游标,并定义游标的名称、数据类型和查询语句等属性。

例如:

图片.png

游标的作用域

LOCAL

说明所声明的游标为局部的,其作用域为创建它的批处理、存储过程或触发器,即在批处理、调用它的存储过程或触发器执行完成后,该游标被系统隐式释放。

GLOBAL

指定该游标的作用域是全局的。由链接执行的任何存储过程或批处理中,都可以引用该有标的名称。该游标仅在断开连接时隐式释放。

6.2 打开游标

使用open打开游标

图片.png

6.3 检索数据

使用 FETCH语句从游标中检索数据,可以一次检索一行或多行数据,并将数据存储在变量中进行处理。

FETCH cs1 INTO v1;

6.4 处理数据

在每次检索数据之后,使用变量中的数据执行所需的操作,例如,对数据进行计算、逻辑判断、修改等。

6.5 循环处理

通常使用循环结构(例如WHILE、LOOP)来便利游标中的所有数据,并在每次循环迭代中执行相应的操作。

6.6 关闭和释放游标

在处理完所有数据之后,使用CLOSE和DEALLOCATE语句关闭和释放游标。

图片.png

图片.png

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值