游标

作者: olivia_ong | 来源:发表于2016-11-16 19:36 被阅读0次

游标(cursor)

基本概念

  • 游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。在存储了游标之后,可以对结果集进行逐行读取的操作。
  • 使用游标注意:
  • 在使用游标之前,必须要声明(定义)它。这个过程实际上没有检索数据,知识定义要使用的select语句。
  • 声明之后,必须打开游标使用。这个过程用前面定义的select语句将数据检索出来。
  • 对于填有数据的游标,根据需要取出(检索)各行。
  • 在结束游标使用时必须关闭游标
  • MySQL中游标只能用于存储过程(和函数)。

游标使用过程

  • 创建游标
    declare cursor_name cursor for select...
  • 打开和关闭游标
    open/close cursor_name;
  • 使用游标数据
    利用fetch语句分别访问它的每一行,fetch语句指定检索什么数据,检索出来的数据存储在什么地方,它还向前移动游标中的内部指针,使下一条fetch语句检索下一行。
    fetch cursor_name into tmp;

游标使用演示

create procedure processorders()
begin 
declare done boolean default 0;
declare o int;
declare t decimal(8,2);

declare ordernumbers cursor 
        for 
        select order_num from orders;

declare continue handler for sqlstate '02000' set done=1;//'02000'指未找到

create table if not exists ordertotals(order_num int ,total decimal(8,2));
//打开游标 
open ordernumbers;

repeat
    fetch ordernumbers into o;
    call ordertotal(o,1,t);
    insert into ordertotals(order_num,total) values(o,t);
until done end repeat;
close ordernumbers;

end

相关文章

  • MongoDB之文档游标

    游标 查询操作返回的结果游标 游标的迭代与操作 db.collecton.find() 返回一个文档集合游标,在不...

  • sqlserver 游标

    游标更新删除当前数据 1.声明游标 2.打开游标 3.声明游标提取数据所要存放的变量 4.定位游标到哪一行 5.关...

  • Oracle 存储过程学习笔记

    1、存储过程简单实例 2.游标实现方式 显式游标实现方式(可多值) 隐式游标(可以实现查询多值) 带有参数的游标(...

  • sql server 游标

    定位到结果集中某一行 游标分类 静态游标(Static):在操作游标的时候,数据发生变化,游标中数据不变。 动态游...

  • 实验九 游标操作和自定义函数

    一.实验目的: 掌握游标的声明、游标打开、标数据的提取、游标的关闭和游标的释放 掌握标量值函数的定义与调用 掌握内...

  • sql 游标,函数,触发器

    游标是数据库的一种机制或类型,可以存储结果集 ,迭代和遍历结果集,oracle中游标大致分为显示游标和隐式游标。 ...

  • GraphQL(七):GraphQL分页及原理分析

    基于GraphQl-JAVA 11.0 GraphQL的分页是基于游标的,游标分页的方式可以提升用户体验,关于游标...

  • SQL-游标循环记录

    declare @temp_temp int --创建游标 --Local(本地游标) DECLARE a...

  • Mongodb学习笔记(四)之 游标操作

    游标操作 cursor (1)游标是什么?通俗来说,游标不是查询结果,而是查询的返回资源或接口。(2)通过这个接口...

  • 游标

    显示游标 显示游标属性 1.%ISOPEN:布尔值,游标是否打开2.%FOUND:布尔值,FETCH附近,缓存区中...

网友评论

      本文标题:游标

      本文链接:https://www.haomeiwen.com/subject/mjxrpttx.html