MYSQL存储过程-练习5 游标
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 游标的更多相关文章
- mysql 存储过程中使用游标中使用临时表可以替代数组效果
mysql不支持数组.但有时候需要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题.临时表:只有在 ...
- mysql存储过程中使用游标
用户变量一般以@开头,作用于全局范围 局部变量需用 declare 定义格式为 declare 变量名 数据类型 [default value]; mysql 数据类型有 int ,float,dat ...
- MySql存储过程—7、游标(Cursor)
|字号 订阅 1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能 ...
- MySQL存储过程入门教程
存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且 ...
- mysql存储过程之游标遍历数据表
原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环境,花了不少时间才慢慢弄好,故留个痕 ...
- MySQL存储过程之游标实战
MySQL存储过程之游标实战 博主日前在解决一个项目需求时,没有什么好的方法,于是就来学习存储过程了,之前也是接触过,奈何年少贪玩,竟是全部又还给了大学老师-苦不堪言呐-. 先说一下业务需求吧 ...
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- mysql存储过程游标嵌套循环
自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CUR ...
- Mysql 存储过程中使用多游标
Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...
- MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明
MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...
随机推荐
- 6、SpringMVC之视图
注意:本文环境搭建请参考5.2节 6.1.视图概述 视图的作用是渲染数据,将模型Model中的数据展示给用户: SpringMVC视图的种类很多,默认有转发视图和重定向视图: SpringMVC中的视 ...
- 计算机网络中的Ad hoc network到底是个啥?
"Ad hoc network" 是一种临时网络,通常指由一组设备(如计算机.手机等)通过无线方式相互连接而不需要依赖固定的基础设施(如路由器或交换机).这些网络通常是自组织的,能 ...
- Jax报错:Windows系统环境下WSL中运行Jax会导致nvidia-smi报错退出,无法使用nvidia-smi和gpustat
环境: Window11下的WSL: 运行jax,导致nvidia-smi无法使用,不过经过测试发现虽然nvidia-smi报错无法使用,但是GPU已经可以正常使用,调用jax的GPU运行也保持正常, ...
- (续)在深度计算框架MindSpore中如何对不持续的计算进行处理——对数据集进行一定epoch数量的训练后,进行其他工作处理,再返回来接着进行一定epoch数量的训练——单步计算
内容接前文: https://www.cnblogs.com/devilmaycry812839668/p/14988686.html 这里我们考虑的数据集是自建数据集,那么效果又会如何呢??? im ...
- 小样本学习(Few shot learning)标准数据集(miniImageNet、tieredImageNet、Fewshot-CIFAR100)下载地址
以下数据集均不可商用: https://mtl.yyliu.net/download/ Please note that the splits for miniImageNet follow Ravi ...
- idea中多线程debug实现方案
1.背景 2.步骤 步骤一: 步骤二: 步骤三: 启动测试,查看个线程状态 完美
- 痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题探析. 前段时间有一个 RT1052 客户反馈了一个有趣的问题, ...
- Aspire8一文通
Aspire8一文通 0.简介 微软Aspire是微软今年推出的一个全新的平台无关.语言无关的新框架,它的设计目的是简化云原生应用的开发.部署和管理过程.Aspire的读音是[əˈspaɪər],它的 ...
- OpenPCDet复现过程记录
0.前言 OpenPCDet项目之前我就复现过,一个很优秀的项目,这几天又需要用到这个项目,再次复现遇到了不少问题,特此记录复现的流程 1.环境准备 1.1.前置条件 以下是我安装的版本 CUDA 1 ...
- 工作常用SQL
工作常用SQL Excel生成SQL 这个好用 ="insert into t_gk_mapping(id,gk_project_name,gk_project_code,main_proj ...