21 使用游标

Posted xlzfdddd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21 使用游标相关的知识,希望对你有一定的参考价值。

21.1 游标

在存储过程中使用游标可以对一个结果集进行移动遍历。

游标主要用于交互式应用,其中用户需要对数据集中的任意行进行浏览和修改。

21.2 使用游标

使用游标的四个步骤:

  1. 声明游标,这个过程没有实际检索出数据,它只是定义要使用的SELECT语句; 
  2. 打开游标;
  3. 取出数据;
  4. 关闭游标。

在声明游标后,可根据需要频繁地打开和关闭游标。在游标打开后, 可根据需要频繁地执行取操作。

21.2.1 创建游标

游标用DECLARE语句创建。

例如下面的例子定义了名为ordernumbers的游标,使用了可以检索所有订单的SELECT语句。

CREATE PROCEDURE processorders()
BEGIN
    DECLARE ordernumbers CURSOR
    FOR
    SELECT order_num FROM orders;
END;

DECLARE语句用来定义和命名游标,这里为ordernumbers。 存储过程处理完成后,游标就消失。在定义游标之后,可以打开它。

21.2.2 打开和关闭游标

游标用OPEN CURSOR语句来打开:

OPEN ordernumbers;

在处理OPEN语句时执行查询,存储检索出的数据以供浏览和滚动。

游标处理完成后,应当使用如下语句关闭游标:

CLOSE ordernumbers;

CLOSE释放游标使用的所有内部内存和资源,因此在每个游标不再需要时都应该关闭。

在一个游标关闭后,如果没有重新打开,则不能使用它。但是,使用声明过的游标不需要再次声明,用OPEN语句打开它就可以了。

21.2.3 使用游标数据

在一个游标被打开后,可以使用FETCH语句分别访问它的每一行。FETCH指定检索什么数据(所需的列),检索出来的数据存储在什么地方。它还向前移动游标中的内部行指针,使下一条FETCH语句检索

下一行(不重复读取同一行)。 

第一个例子从游标中检索单个行(第一行):

CREATE PROCEDURE processorders()
BEGIN
    --Declare local variables
    DECLARE o INT;

    --Declare the cursor
    DECLARE ordernumbers CURSOR
    FOR
    SELECT order_num FROM orders;

    --Open the cursor
    OPEN oedernumbers;

    --Get order number
    FETCH ordernumbers INTO o;

    --Close the cursor
    CLOSE ordernumbers;

END;

其中FETCH用来检索当前行的order_num列(将自动从第一行开始)到一个名为o的局部声明的变量中。对检索出的数据不做任何处理。

 











以上是关于21 使用游标的主要内容,如果未能解决你的问题,请参考以下文章

21个常用代码片段

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

实现限制:'FILE READONLY' 不能直接访问远程包变量或游标