zoukankan      html  css  js  c++  java
  • 游标

     

    Q:为什么要使用游标?

    A:在存储过程(或函数)中,如果某条select语句返回的结果集中只有1行,可以使用select into语句(上几篇博客有介绍到用法)来得到该行进行处理;如果结果集中有多行,简单的select语句成批地进行处理,需要在检索出来的行中前进或后退一行或多行……若是想得到其中的每一行进行处理,就必须使用游标。

    Q:什么是游标?

    A:游标(cursor),是一个存储在MySQL服务器上的数据库查询,游标不是一条 SELECT语句,而是被该语句检索出来的结果集;可以看做是指向查询结果集的指针;通过cursor,就可以一次一行的从结果集中把行拿出来处理。

    注意:MySQL游标只能用于存储过程和函数。

    游标的处理过程:4步

      ①声明游标declare:没有检索数据,只是定义要使用的select语句

      ②打开游标open:打开游标以供使用,用上一步定义的select语句把数据实际检索出来

      ③检索游标fetch:对于填有数据的游标,根据需要取出(检索)各行

      ④关闭游标close:在结束游标使用时,必须关闭游标

    cur_names for select * from Stu

    fetch cur_name into temp_cur_name

    一次只拿一行,拿完后,自动移动指针到下一行;如果没有拿到行,会抛出异常,其SQLSTATE代码值为‘02000’,此时要检测到该情况,需要声明异常处理程序 (针对条件NOT FOUND也可以),通常需要在一个循环中来执行fetch语句,通过检测以上异常来结束循环。

  • 相关阅读:
    (转载)openwrt nginx
    *** 竞赛中的各种低级错误,及编程常见错误小结 ***
    信息学奥赛辅导经验谈 & 问题教学法中的学生思维能力培养
    数学&数论的一些题
    信息学竞赛中的一些经典思维 (题)
    从权值线段树到主席树
    浅谈莫队算法
    CSP-S 2019提高组训练 服务器需求
    NOIP2019 PJ 对称二叉树
    NOIP2017 PJ 跳房子 —— 单调队列优化DP
  • 原文地址:https://www.cnblogs.com/Dfrank/p/11823879.html
Copyright © 2011-2022 走看看