关键字: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的执行效率,但同时会占用较大的内容。 |