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语句,通过检测以上异常来结束循环。

  • 相关阅读:
    vue中实现后台管理路由标签页
    vue实现侧边导航栏
    node学习(-)
    javascript面试题(二)
    尾递归(简要)
    javascript面试题(一)
    Windows平台基于RTMP实现一对一互动直播
    如何实现RTMP推送Android Camera2数据
    Windows平台RTMP/RTSP直播推送模块设计和使用说明
    如何设计一款跨平台低延迟的RTMP/RTSP直播播放器
  • 原文地址:https://www.cnblogs.com/Dfrank/p/11823879.html
Copyright © 2011-2022 走看看