MYSQL存储过程-练习5 游标

 1 DELIMITER $
2 CREATE PROCEDURE sp_cur()
3 BEGIN
4 DECLARE bkname VARCHAR(200);
5 DECLARE done INT DEFAULT 0; #游标结束标志
6
7 DECLARE cur CURSOR FOR SELECT bookname FROM book; #声明游标
8 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; #指定游标结束时的返回值
9
10 OPEN cur; #打开游标
11 lp1:LOOP
12 FETCH cur INTO bkname; #获取结果
13 IF done = 1 THEN #当游标的返回值为 1 时 退出循环
14 leavr lp1;
15 END IF;
16 SELECT bkname;
17 END LOOP;
18
19 CLOSE cur; #关闭游标
20
21 END$
22 DELIMITER;

执行存储过程,检查游标运行结果

 1 mysql> call sp_cur();
2 +------------------------+
3 | bkname |
4 +------------------------+
5 | HARRY POTER-魔法石1 |
6 +------------------------+
7 1 row in set (0.02 sec)
8
9 +---------------------+
10 | bkname |
11 +---------------------+
12 | HARRY POTER-密室2 |
13 +---------------------+
14 1 row in set (0.02 sec)
15
16 +------------------------+
17 | bkname |
18 +------------------------+
19 | HARRY POTER-凤凰社3 |
20 +------------------------+
21 1 row in set (0.03 sec)
22
23 +------------------------+
24 | bkname |
25 +------------------------+
26 | HARRY POTER-火焰杯4 |
27 +------------------------+
28 1 row in set (0.06 sec)
29
30 +---------------------------+
31 | bkname |
32 +---------------------------+
33 | HARRY POTER-死亡圣器5 |
34 +---------------------------+
35 1 row in set (0.09 sec)
36
37 Query OK, 0 rows affected (0.13 sec)

MYSQL存储过程-练习5 游标的更多相关文章

  1. mysql 存储过程中使用游标中使用临时表可以替代数组效果

    mysql不支持数组.但有时候需要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题.临时表:只有在 ...

  2. mysql存储过程中使用游标

    用户变量一般以@开头,作用于全局范围 局部变量需用 declare 定义格式为 declare 变量名 数据类型 [default value]; mysql 数据类型有 int ,float,dat ...

  3. MySql存储过程—7、游标(Cursor)

    |字号 订阅 1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能 ...

  4. MySQL存储过程入门教程

    存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且 ...

  5. mysql存储过程之游标遍历数据表

    原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环境,花了不少时间才慢慢弄好,故留个痕 ...

  6. MySQL存储过程之游标实战

    MySQL存储过程之游标实战 ​ 博主日前在解决一个项目需求时,没有什么好的方法,于是就来学习存储过程了,之前也是接触过,奈何年少贪玩,竟是全部又还给了大学老师-苦不堪言呐-. ​ 先说一下业务需求吧 ...

  7. MySQL存储过程 游标

    MySQL存储过程  游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...

  8. mysql存储过程游标嵌套循环

    自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CUR ...

  9. Mysql 存储过程中使用多游标

    Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...

  10. MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明

    MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...

随机推荐

  1. 【Shiro】08 SpringBoot整合

    需要的依赖的坐标: <!-- Shiro依赖 --> <dependency> <groupId>com.github.theborakompanioni</ ...

  2. Jenkins API用户认证方式

    1.概述 Jenkins的API可以通过用户名+密码或者用户名+Token的方式来进行认证,这篇文章以具体示例来说明具体的使用方式. 2.Jenkins环境 本文示例基于Jenkins 2.452.3 ...

  3. 为python安装扩展模块时报错——error: invalid command 'bdist_wheel'

    具体过程: devil@hp:~/lab$ ./bazel-bin/python/pip_package/build_pip_package /tmp/dmlab_pkg2022年 10月 03日 星 ...

  4. java关于数组的复制,反转、查找

    一.数组的赋值: arr2=arr1;对于该赋值而言,地址值一样,所以arr1会随着arr2的变化而变化.这不能称作数组的复制,因为只是把地址赋过去了.地址一样,指向的是堆空间中唯一的数组实体(数值) ...

  5. CentOS 7.3离线安装 JDK,Mariadb

    1.环境准备 #链接:https://pan.baidu.com/s/1rcLrELaLHBJI0pKQQFOnNA #提取码:f1a2 2.安装 # 离线文件位置 /home/bw/# 将目标机器系 ...

  6. Implicit Autoencoder for Point-Cloud Self-Supervised Representation Learning论文阅读

    Implicit Autoencoder for Point-Cloud Self-Supervised Representation Learning 2023 ICCV *Siming Yan, ...

  7. 使用 iRingo 解锁本该属于你的苹果服务

    为什么别人的 Spotlight 可以通过航班号查询航班信息,而我的不行?为什么别人的 Spotlight 可以直接看英超联赛的比分信息?为什么我的 Apple News 打不开?这其实是因为这些功能 ...

  8. .Net 5.0 WebAPI 发布至 CentOS 7 系统

    〇.前言 本文主要介绍了在 CentOS 7 上部署 WebAPI 项目的过程. 先安装 .net 5.0 的环境,再创建一个示例项目并发布至 CentOS 上,同时列明了一些注意的点:最后将 dot ...

  9. unity学习笔记(一)

    组件的概念 组件:一个或多个功能的容器,类似模块,插上去就有这个功能,不查没有 存在意义: 如果太依赖继承,继承树将会特别复杂 组件化设计思想有利于维护拓展 unity内任何游戏物体必须有Transf ...

  10. 线性dp:LeetCode516 .最长回文子序列

    LeetCode516 .最长回文子序列 题目叙述: 力扣题目链接(opens new window) 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字 ...