关键字:
KingbaseES、游标、PLSQL、人大金仓
一、概述
1.1游标的理解
游标可以理解为指向查询结果中特定行的指针,可以从一行移动到下一行。SQL结果就像一个袋子,它可以保存一大堆行,但不能单独保存某一行,而游标就像一把镊子,有了它我们可以一行一行的遍历数据。
1.2 游标分类
(1)静态游标
使用前,游标已和sql语句绑定,不能再更改,分为隐式游标和显式游标。
(2)动态游标
动态游标在声明时没有设定sql语句,在打开时可以对其进行修改。
(3)系统游标
系统预定义的游标sys_refcursor。
1.3游标属性
%ISOPEN表示该游标是否处于打开状态
%FOUND表示当前游标是否指向有效一行
%NOTFOUND与%FOUND值相反
%ROWCOUNT记录游标抽取过的记录行数
二、使用游标
(1)静态游标
定义游标语法为:
CURSOR 游标名[(游标输入参数)]IS 查询语句
游标使用为:
1,打开游标-OPEN 游标名[定义的游标输入参数]
2,提取游标-FETCH 游标名 INTO 接收变量
3,关闭游标-CLOSE 游标名
(2)动态游标
声明游标语法:
TYPE 游标类型名 IS REF CURSOR [RETURN 游标返回值类型]
使用语法
打开游标-OPEN 游标变量名 FOR 查询语句
提取游标-FETCH 游标名 INTO 接收变量
关闭游标-CLOSE 游标名
(3)系统游标
系统游标是系统预定义的游标,目前有sys_refcursor和refcursor两种系统游标。
三、总结
游标是用来存储多条查询数据的一种数据结构,它通过指针来从上往下移动变量每一行数据,方便用户处理查询结果。它可以提高sql的执行效率,但同时会占用较大的内容。