一、游标的基本概念

游标:游标是一个存储在Mysql服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。

本人,学习游标中,曾遇到一个问题,循环总是最后多执行一次。下面分析程序,这个是一个sql脚本程序

#if d=0 then   #end if; 注释掉这两行时,会发现,游标中的repeat循环总是多执行一次。

vendors 表中之前的数据为:

图1

二、程序及结果分析

delimiter //

create procedure procursor(in num int)

begin

declare d boolean default 0;

declare o int;

declare t int;

declare c int default 0;

declare mycur cursor for select vend_id from vendors;

declare continue handler for sqlstate '02000' set d =1 ;

create table if not exists results(re_id int,re_num int);

open mycur;

repeat

fetch mycur into o;

#if d=0 then

select o;

# set t=o*num;

insert into results values(o,num*o);

set c=c+1;

select d;

# end if;

until d end repeat;

close mycur;

select * from results;

select c;

end //

delimiter ;

注释 #if d=0 then 和# end if;  执行以上sql语句后,call procursor(100); 执行结果如图2所示;发现,游标的循环总是多执行了一次,执行了4次

,

分析发现,原因在于,最后一次fetch mycur into o;时,mycur 为空 ,o值未更改,所以,最后一组值,多执行了一次。此时若检测d的值,发现d为1。将#if d=0 then和# end if;注释去掉,做一个条件判断后的结果如图3所示。

结果正确

图2                                                                                                图3

mysql 游标总条数_mysql 游标的使用总结相关推荐

  1. mysql 查询数据条数_MySQL优化总结-查询总条数

    1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...

  2. mysql 查询条数优化_MySQL优化总结-查询总条数

    1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...

  3. mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写

    sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...

  4. mysql查询优化count(*)-查询记录总条数(二)

    前文提到查询记录总条数有时候会使用到where来限定查询范围. 从优化原则来说,where可能会降低效率. 但是如果where设定的合理,符合一定条件,也可以实现查询优化效果. 如果条件是索引列,那么 ...

  5. 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

    文章目录 前言 一.问题说明 1.引入依赖 2.Mybatis-Plus配置 3.创建mapper层 4.编写xxxMapper.xml文件 5.测试一(不传任何条件,只分页) 5.1.结果总结 5. ...

  6. oracle分页查询加总数,oracle count 百万级 分页查询记要总数、总条数优化

    oracle count 百万级 分页查询记录总数.总条数优化 oracle count 百万级 查询记录总数.总条数优化 最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次 ...

  7. ruoyi框架分页总条数total返回错误解决方案

    ruoyi框架分页总条数total返回错误解决方案 原因:因为自己重新定义了分页方法,如: 就会出现总数返回数据错误问题 总数会变成当前页条数的 这是分页的核心,这里传过来的list 没有 insta ...

  8. hadoop查看文件总条数及按某个关键词查询

    hadoop fs -cat /xxxDetailFormat/xxx_team_format/part-00000|grep 'xxx' hadoop fs -cat/xxxDetailFormat ...

  9. sql 统计查询某一字段的某一个值的总条数

    查询某一字段的某一个值的总条数 比如:orderprogressno字段的值分别为1,2,3,4,那么就是查询值为1的总条数和值为2的总条数 select orderno,count(orderpro ...

最新文章

  1. 耗时3天,上亿数据如何做到秒级查询?
  2. python语言type board_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题……...
  3. java1.8 lambda表达式_java1.8之Lambda表达式
  4. 算法 - 赫夫曼编码(对字符串进行压缩 与 解压(解码)) - (对文件进行压缩解压)
  5. h0152. 故事计算题(计蒜客——西邮K题)解析
  6. linux,shell中if else if的写法,if elif
  7. 配置classpath,引入jar包
  8. python实现嵌套功能_我应该如何在Python中实现“嵌套”子命令?
  9. HDU3068 最长回文【manacher算法】
  10. 多线程及Thread类、Runnable接口
  11. html用于信息展示的表格源码,Html表格
  12. SVM 超平面方程
  13. FPGA模拟PS/2键盘
  14. Linux终端快捷键
  15. poi实现多个excel合并成一个excel
  16. 非线性方程-概念应用及解法
  17. 机器人史宾_史宾机器人:重启
  18. 2021-03-23 sgn函数
  19. JS 小坑 - AJAX请求的小坑,请求接口404
  20. java memorystream 包_C#使用MemoryStream类读写内存

热门文章

  1. 爬虫最基本的工作流程:内涵社区网站为例
  2. Django创建图书管理项目(完整版
  3. html的实战性介绍
  4. (二十七)【2021 WWW】Learning Intents behind Interactions with Knowledge Graph for Recommendation
  5. 线性代数应该这样讲(三)-向量2范数与模型泛化
  6. Solr Facet技术的应用与研究
  7. 开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...
  8. 论文浅尝 | 引入“引用”的语言模型
  9. 论文浅尝 | Improved Neural Relation Detection for KBQA
  10. Android官方开发文档Training系列课程中文版:键盘输入处理之处理键盘按键